Python Timeit() cu Exemple
⚡ Rezumat inteligent
Python Timeit() măsoară timpul de execuție al unui fragment de cod mic rulându-l de mai multe ori și returnând durata minimă. Acceptă metodele timeit, repeat și default_timer și funcționează din scripturi sau din linia de comandă.

Ce Este Python Timeit()?
Python timeit() este o metodă în Python bibliotecă pentru a măsura timpul de execuție luat de fragmentul de cod dat. The Python biblioteca rulează instrucțiunea de cod de 1 milion de ori și oferă timpul minim luat din setul dat de fragmente de cod. Python timeit() este o metodă utilă care ajută la verificarea performanței codului.
Sintaxă
timeit.timeit(stmt, setup,timer, number)
parametrii
- stmt: Acesta va lua codul pentru care doriți să măsurați timpul de execuție. Valoarea implicită este „pass”.
- configurarea: Aceasta va avea detalii de configurare care trebuie executate înainte de stmt. Valoarea implicită este „pass”.
- timer: Aceasta va avea valoarea timer, timeit() are deja o valoare implicită setată și o putem ignora.
- număr: Stmt-ul se va executa conform numărului dat aici. Valoarea implicită este 1000000.
Pentru a lucra cu timeit(), trebuie să importam modulul, așa cum se arată mai jos:
import timeit
Primul exemplu
Iată un exemplu simplu de funcție timeit().
Code Exemplu 1
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
ieșire:
0.06127880399999999
Am văzut un exemplu simplu care ne oferă timpul de execuție al instrucțiunii de cod simplu de ieșire = 10*5, iar timpul necesar pentru a-l executa este 0.06127880399999999.
Cronometrare Mai multe linii în codul Python
Există două moduri de a executa mai multe linii de cod în timeit.timeit(): prin separarea liniilor cu punct și virgulă sau prin includerea codului ca șir cu ghilimele triple.
Iată exemple care arată funcționarea acestuia.
Exemplul 1: Utilizarea punctului și virgulă
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
ieșire:
The time taken is 0.137031482
Exemplul 2: Folosind ghilimele triple
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
ieșire:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Metode
Iată 2 metode importante de timp
timeit.default_timer() : Aceasta va returna ora implicită când este executată.
timeit.repeat(stmt, setup, timer, repeat, number) : la fel ca timeit() , dar cu repetare timeit() se numește de câte ori este dat repetiția.
Exemplul de program 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))
ieșire:
0.46715912400000004
Exemplu 2
default_timer() Exemplu
# 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)
ieșire:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Exemplul 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))
ieșire:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() funcționează similar cu funcția timeit.timeit(), cu singura diferență pe care o ia în argumentul repetare și returnează timpul de execuție în format matrice cu valori conform numărului de repetare.
Executarea funcției de sincronizare timeit.timeit() în interfața liniei de comandă
Sintaxa pentru a vă executa funcția în timeit() pe linia de comandă este următoarea:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Parametrii liniei de comandă:
- -n N: de câte ori doriți să se execute codul.
- -r N: de câte ori doriți ca funcția timeit() să se repete
- -s S: aceasta va avea detalii de configurare care vor fi executate înainte de executarea codului.
- -t: pentru aceasta, puteți folosi time.time()
- -c: pentru aceasta, puteți folosi time.clock()
- -h: pentru ajutor
- declarație de cod: detaliile codului.
Exemplu
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Un alt mod în care puteți executa în interiorul liniei de comandă este așa cum se arată mai jos:
Exemplu
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
De ce este timeit() cel mai bun mod de a măsura timpul de execuție al lui Python cod?
Iată câteva motive pentru care considerăm că timeit() este cea mai bună modalitate de a măsura timpul de execuție.
- Rulează instrucțiunea de cod de 1 milion de ori, aceasta este valoarea implicită și, din aceasta, vă va returna timpul minim necesar. De asemenea, puteți crește/scădea 1 milion setând numărul argumentului în funcție de timp ().
- În timpul executării testului, colectarea gunoiului este dezactivată de fiecare dată de funcția time ().
- timeit() intern ia timpul exact conform sistemului dvs. de operare utilizat. De exemplu, va folosi time.clock() pentru Windows sistem de operare și time.time() pentru Mac și Linux.
