Python Timeit() cu Exemple
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().
Exemplu de cod 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.
Rezumat
Timeit() este folosit pentru a obține timpul de execuție necesar pentru codul mic dat
Parametrii utilizați cu timeit()
- stmt: Aceasta va lua codul pe care doriți să măsurați timpul de execuție
- setup: Acesta va avea detalii de configurare care trebuie executate înainte de stmt
- timer: Acesta va avea valoarea timer, timeit() are deja o valoare implicită setată și o putem ignora.
- număr: stmt se va executa conform numărului dat aici.