Ce este Python Timeit ()?
Python timeit () este o metodă din biblioteca Python pentru a măsura timpul de execuție luat de fragmentul de cod dat. Biblioteca Python rulează declarația de cod de 1 milion de ori și oferă timpul minim preluat 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 : Aceasta va lua codul pentru care doriți să măsurați timpul de execuție. Valoarea implicită este „trece”.
- setare : Aceasta va avea detalii de configurare care trebuie executate înainte de stmt. Valoarea implicită este „trece”.
- timer : Aceasta va avea valoarea temporizatorului, timeit () are deja setată o valoare implicită și o putem ignora.
- number : stmt se va executa conform numărului dat aici. Valoarea implicită este 1000000.
Pentru a lucra cu timeit (), trebuie să importăm modulul, după cum se arată mai jos:
import timeit
Primul exemplu
Iată un exemplu simplu de funcție timeit ()
Exemplu de cod 1:
# testing timeit()import timeitprint(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 ieșire = 10 * 5, iar timpul pentru executare este de 0,06127880399999999.
Cronometrare Mai multe linii în codul python
Există două care pot executa mai multe linii de cod în timeit.timeit (), folosind un punct și virgulă sau salvând codul inclus într-un șir cu ghilimele triple.
Iată exemple care arată funcționarea acestuia.
Exemplul 1: Utilizarea punct și virgulă
import timeitprint("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Ieșire:
The time taken is 0.137031482
Exemplul 2: Folosirea ghilimelelor triple
import timeitimport_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.pyThe time taken is 0.182619178
timeit - Metode:
Iată 2 metode importante de timp
timeit.default_timer () : Aceasta va returna timpul implicit atunci când este executat.
timeit.repeat (stmt, setare, cronometru, repetare, număr) : la fel ca timeit (), dar cu repetare se numește timeit (), numărul de repetări este dat.
Programul Exemplul 1:
# testing timeit()import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.timeit(stmt=testcode, setup=import_module))
Ieșire:
0.46715912400000004
Exemplul 2:
default_timer () Exemplu
# testing timeit()import timeitimport randomdef 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.220261875The time difference is : 0.0004737320000000045
Exemplul 3: timeit.repeat ()
# testing timeit()import timeitimport_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ță necesară în argumentul de repetare și redă 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 interiorul timeit () pe linia de comandă este după cum urmează:
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 să se repete funcția timeit ()
- -s S: acesta 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 codului Python?
Iată câteva motive pentru care considerăm că timeit () este cel mai bun mod de a măsura timpul de execuție.
- Rulează declarația de cod de 1 milion de ori, care este valoarea implicită și, din aceasta, vă va întoarce timpul minim luat. De asemenea, puteți crește / micșora 1 milion setând numărul argumentului în funcția time ().
- În timpul executării testului, colectarea gunoiului este dezactivată de fiecare dată de funcția time ().
- timeit () intern necesită timpul exact conform sistemului de operare utilizat. De exemplu, va folosi time.clock () pentru sistemul de operare Windows și time.time () pentru Mac și Linux.
rezumat
Timeit () este folosit pentru a obține timpul de execuție luat pentru codul mic dat
Parametrii utilizați cu timeit ()
- stmt: Aceasta va lua codul pe care doriți să îl măsurați timpul de execuție
- setup: Aceasta va avea detalii de configurare care trebuie executate înainte de stmt
- timer: Aceasta va avea valoarea temporizatorului, timeit () are deja setată o valoare implicită și o putem ignora.
- number: stmt se va executa conform numărului dat aici.