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.
