Kaj je Python Timeit ()?
Python timeit () je metoda v knjižnici Python za merjenje časa izvajanja, ki ga sprejme dani delček kode. Knjižnica Python zažene izjavo kode 1 milijon krat in zagotavlja minimalni čas, ki je potreben za dani nabor delčkov kode. Python timeit () je uporabna metoda, ki pomaga pri preverjanju učinkovitosti kode.
Sintaksa:
timeit.timeit(stmt, setup,timer, number)
Parametri
- stmt : Vzela bo kodo, za katero želite izmeriti čas izvedbe. Privzeta vrednost je "pass".
- setup : v njem bodo podrobnosti o namestitvi, ki jih je treba izvesti pred stmt. Privzeta vrednost je "pass".
- timer : Ta bo imela vrednost časovnika, timeit () ima že nastavljeno privzeto vrednost in jo lahko prezremo.
- številka : stmt se bo izvedel v skladu s številko, ki je navedena tukaj. Privzeta vrednost je 1000000.
Za delo s timeit () moramo uvoziti modul, kot je prikazano spodaj:
import timeit
Prvi primer
Tu je preprost primer funkcije timeit ()
Primer kode 1:
# testing timeit()import timeitprint(timeit.timeit('output = 10*5'))
Izhod:
0.06127880399999999
Videli smo preprost primer, ki nam določa čas izvedbe izhoda preprostega stavka kode = 10 * 5, in čas, potreben za njegovo izvedbo, je 0,06127880399999999.
Časovno zaporedje več vrstic v kodi python
Dve vrstici kode lahko izvedete v timeit.timeit () s podpičjem ali tako, da kodo, zaprto kot niz, shranite s trojnimi narekovaji.
Tu so primeri, ki prikazujejo njegovo delovanje.
Primer 1: Uporaba podpičja
import timeitprint("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Izhod:
The time taken is 0.137031482
2. primer: Uporaba trojnih narekovajev
import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module))
Izhod:
C:\pythontest>python testtimeit.pyThe time taken is 0.182619178
timeit - Metode:
Tu sta dve pomembni metodi timeit
timeit.default_timer () : To bo vrnilo privzeti čas, ko se izvede.
timeit.repeat (stmt, setup, timer, repeat, number) : enako kot timeit (), vendar se pri ponovitvi timeit () imenuje število ponovitev.
Primer programa 1:
# testing timeit()import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.timeit(stmt=testcode, setup=import_module))
Izhod:
0.46715912400000004
2. primer:
default_timer () Primer
# 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)
Izhod:
The start time is : 0.220261875The time difference is : 0.0004737320000000045
Primer 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))
Izhod:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat () deluje podobno kot funkcija timeit.timeit (), z edino razliko, ki jo vzame argument argument ponovitve in vrne čas izvedbe v obliki matrike z vrednostmi glede na številko ponovitve.
Izvajanje časovne funkcije timeit.timeit () znotraj vmesnika ukazne vrstice
Sintaksa za izvajanje funkcije znotraj timeit () v ukazni vrstici je naslednja:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement… ]
Parametri ukazne vrstice:
- -n N: kolikokrat želite, da se koda izvede.
- -r N: število ponovitev funkcije timeit ()
- -s S: to bo imelo podrobnosti o namestitvi, ki se bodo izvajale pred izvajanjem kode.
- -t: za to lahko izkoristite time.time ()
- -c: za to lahko izkoristite time.clock ()
- -h: za pomoč
- izjava kode: podrobnosti kode.
Primer:
C:\pythontest>python -m timeit -s 'text="hello world"'20000000 loops, best of 5: 13.1 nsec per loop
Drug način, kako lahko izvedete znotraj ukazne vrstice, je prikazan spodaj:
Primer:
>>> import timeit>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))The time taken is 0.15048536300000137>>>
Zakaj je timeit () najboljši način za merjenje časa izvajanja kode Python?
Tu je nekaj razlogov, zakaj menimo, da je timeit () najboljši način za merjenje časa izvedbe.
- Izkaz kode zažene milijonkrat, kar je privzeta vrednost, in od tega vam vrne najmanjši čas. 1 milijon lahko tudi povečate / zmanjšate z nastavitvijo številke argumenta v funkciji time ().
- Med izvajanjem testa je zbiranje smeti onemogočeno vsakič, ko je uporabljena funkcija time ().
- timeit () interno vzame natančen čas glede na uporabljeni operacijski sistem. Na primer, uporabil bo time.clock () za operacijski sistem Windows in time.time () za mac in Linux.
Povzetek
Timeit () se uporablja za določitev časa izvedbe za dano majhno kodo
Parametri, uporabljeni z timeit ()
- stmt: Vzela bo kodo, ki jo želite izmeriti čas izvedbe
- setup: v njem bodo podrobnosti o namestitvi, ki jih je treba izvesti pred stmt
- timer: Ta bo imela vrednost časovnika, timeit () ima že nastavljeno privzeto vrednost in jo lahko prezremo.
- številka: stmt se bo izvedel v skladu s številko, ki je navedena tukaj.