Python Timeit() med eksempler
โก Smart oppsummering
Python Timeit() mรฅler utfรธrelsestiden til en liten kodebit ved รฅ kjรธre den mange ganger og returnere minimumsvarigheten. Den stรธtter metodene timeit, repeat og default_timer og fungerer fra skript eller kommandolinjen.

Hva er Python Timeit()?
Python timeit() er en metode i Python biblioteket for รฅ mรฅle utfรธrelsestiden som den gitte kodebiten tar. De Python biblioteket kjรธrer kodesetningen 1 million ganger og gir minimumstiden tatt fra det gitte settet med kodebiter. Python timeit() er en nyttig metode som hjelper til med รฅ sjekke ytelsen til koden.
syntax
timeit.timeit(stmt, setup,timer, number)
Parametre
- stmt: Dette tar koden du vil mรฅle utfรธrelsestiden for. Standardverdien er "bestรฅtt".
- oppsett: Dette vil ha oppsettdetaljer som mรฅ utfรธres fรธr stmt. Standardverdien er "bestรฅtt".
- tidsur: Dette vil ha timerverdien, timeit() har allerede en standardverdi satt, og vi kan ignorere den.
- Antall: Stmt vil kjรธre i henhold til nummeret som er gitt her. Standardverdien er 1000000.
For รฅ jobbe med timeit(), mรฅ vi importere modulen, som vist nedenfor:
import timeit
Fรธrste eksempel
Her er et enkelt eksempel pรฅ timeit()-funksjonen
Code Eksempel 1
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Utgang:
0.06127880399999999
Vi har sett et enkelt eksempel som gir oss utfรธrelsestiden for den enkle kodesetningen = 10*5, og tiden det tar รฅ utfรธre den er 0.06127880399999999.
Timing Flere linjer i python-kode
Det er to mรฅter รฅ kjรธre flere linjer med kode i timeit.timeit(): ved รฅ skille linjene med semikolon eller omslutte koden som en streng med tre anfรธrselstegn.
Her er eksempler som viser hvordan det fungerer.
Eksempel 1: Bruke semikolon
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Utgang:
The time taken is 0.137031482
Eksempel 2: Bruk av tredoble anfรธrselstegn
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Utgang:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit โ Metoder
Her er 2 viktige timeit-metoder
timeit.default_timer() : Dette vil returnere standardtiden nรฅr den utfรธres.
timeit.repeat(stmt, oppsett, tidtaker, gjenta, tall) : samme som timeit() , men med repeat kalles timeit() antall ganger repeat er gitt.
Programeksempel 1
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Utgang:
0.46715912400000004
Eksempel 2
default_timer() Eksempel
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
Utgang:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Eksempel 3: timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Utgang:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() fungerer pรฅ samme mรฅte som timeit.timeit()-funksjonen, med den eneste forskjellen den tar i repetisjonsargumentet og gir tilbake utfรธrelsestiden i matriseformat med verdier i henhold til repetisjonsnummeret.
Utfรธrer tidsfunksjon timeit.timeit() i kommandolinjegrensesnittet
Syntaksen for รฅ utfรธre funksjonen din i timeit() pรฅ kommandolinjen er som fรธlger:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Kommandolinjeparametere:
- -n N: antall ganger du vil at koden skal kjรธres.
- -r N: antall ganger du vil at timeit()-funksjonen skal gjentas
- -s S: dette vil ha oppsettdetaljer som vil bli utfรธrt fรธr kodekjรธring.
- -t: for dette kan du bruke time.time()
- -c: for dette kan du bruke time.clock()
- -h: for hjelp
- kodesetning: Kodedetaljene.
Eksempel
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
En annen mรฅte du kan utfรธre inne i kommandolinjen er som vist nedenfor:
Eksempel
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
Hvorfor er timeit() den beste mรฅten รฅ mรฅle utfรธrelsestiden pรฅ Python kode?
Her er noen grunner til at vi anser timeit() som den beste mรฅten รฅ mรฅle utfรธrelsestid pรฅ.
- Den kjรธrer kodesetningen 1 million ganger som er standardverdien, og fra det vil den returnere minimumstiden det tar. Du kan ogsรฅ รธke/redusere 1 million ved รฅ sette argumentnummeret i tid ()-funksjonen.
- Mens du utfรธrer testen, deaktiveres sรธppelinnsamlingen hver gang etter tid () funksjon.
- timeit() internt tar nรธyaktig tid i henhold til operativsystemet som brukes. For eksempel vil den bruke time.clock() for Windows operativsystem og time.time() for mac og Linux.
