Hoe de geretourneerde tekenreeks van timeit interpreteren

stemmen
5

Het volgende:

timeit print(foo)

terugkeert iets als: 100000 loops, best of 3: 2.35 µs per loop. Ik denk dat het 100000betrekking heeft op numberargument van timeit. Ik begrijp niet wat het best of 3betekent en wat is de tijdseenheid in gebruik is? In dit geval is het waarschijnlijk microseconde , maar ik zag ook usen nsals eenheden; maar ik kon geen verklaring in de documentatie vinden.

De vraag is gesteld op 29/01/2015 om 13:40
user
In andere talen...                            


1 antwoorden

stemmen
7

Ik veronderstel je het over de Command-line interface hier.

De command line interface voor het eerst zal proberen om een geschikt aantal tests vinden; het begint met 10 runs, weegschalen die door een factor 10 tot de totale tijd die groter is dan 0,2 seconden. Als het afdrukken 10000 loops , dan was dat het aantal lussen die 0,2 seconden duurt.

Het 3is het aantal herhalingen; de tests worden verscheidene malen herhaald, met --repeatstandaard als 3. De snelste tijd die 3 wordt vervolgens uitgenomen.

Dan is de totale tijd voor de snelste run wordt gedeeld door de test nummer. Het nummer wordt gepresenteerd, hetzij in enkele seconden, milliseconden of microseconden, afhankelijk van hoe snel de lus was. Er zijn 1000 microseconden in een milliseconde en 1000 milliseconden in een tweede, en het apparaat wordt afgedrukt sec, msecen usecresp.

Ipython heeft zijn eigen %timeitopdracht op basis van dit alles, maar ze afgekort verder en gebruik s, ms, usen zelfs nsals uw code was snel genoeg om een nanoseconde grootte van de eenheid nodig. De usmicroseconde apparaat kan ook worden weergegeven µsals uw terminal toelaat.

U kunt een kijkje nemen op de nemen Python 3.4 implementatie , en vergelijk deze met de ipython implantingsplan (met de tijdsaanduiding afgehandeld door de _format_time()functie .

antwoordde op 29/01/2015 om 13:52
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more