Python Timeit () s primjerima

Sadržaj:

Anonim

Što je Python Timeit ()?

Python timeit () je metoda u Python biblioteci za mjerenje vremena izvršenja zadanog isječka koda. Python biblioteka pokreće naredbu koda milijun puta i pruža minimalno vrijeme potrebno za zadani skup isječaka koda. Python timeit () korisna je metoda koja pomaže u provjeri izvedbe koda.

Sintaksa:

timeit.timeit(stmt, setup,timer, number)

Parametri

  • stmt : Ovo će uzeti kôd za koji želite mjeriti vrijeme izvršenja. Zadana vrijednost je "pass".
  • setup : Ovo će imati detalje o podešavanju koje treba izvršiti prije stmt-a. Zadana vrijednost je "pass".
  • timer : Ovo će imati vrijednost timera, timeit () već ima zadanu vrijednost, a mi je možemo zanemariti.
  • broj : Stmt će se izvršiti prema broju koji je ovdje dat. Zadana vrijednost je 1000000.

Da bismo radili s timeit (), moramo uvesti modul, kao što je prikazano dolje:

import timeit

Prvi primjer

Evo jednostavnog primjera funkcije timeit ()

Primjer koda 1:

# testing timeit()import timeitprint(timeit.timeit('output = 10*5'))

Izlaz:

0.06127880399999999

Vidjeli smo jednostavan primjer koji nam daje vrijeme izvršenja jednostavnog izvoda izjave koda = 10 * 5, a vrijeme potrebno za njegovo izvršavanje je 0,06127880399999999.

Vremensko određivanje više linija u python kodu

Postoje dvije koje možete izvršiti više redaka koda u timeit.timeit (), koristeći točku sa zarezom ili spremanjem koda zatvorenog kao niz s trostrukim navodnicima.

Evo primjera koji pokazuju njegov rad.

Primjer 1: Korištenje točke sa zarezom

import timeitprint("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))

Izlaz:

The time taken is 0.137031482

Primjer 2: Korištenje trostrukih navodnika

import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module))

Izlaz:

C:\pythontest>python testtimeit.pyThe time taken is 0.182619178

timeit - Metode:

Evo 2 važne metode timeit

timeit.default_timer () : Ovo će vratiti zadano vrijeme kada se izvrši.

timeit.repeat (stmt, setup, timer, repeat, number) : isto što i timeit (), ali s repeat timeit () naziva se koliko je puta ponovljeno.

Primjer 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))

Izlaz:

0.46715912400000004

Primjer 2:

default_timer () Primjer

# 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)

Izlaz:

The start time is : 0.220261875The time difference is : 0.0004737320000000045

Primjer 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))

Izlaz:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat () radi slično funkciji timeit.timeit (), s jedinom razlikom koja se uzima u argumentu ponavljanja i vraća vrijeme izvršenja u formatu polja s vrijednostima prema broju ponavljanja.

Izvršavanje vremenske funkcije timeit.timeit () unutar sučelja naredbenog retka

Sintaksa za izvršavanje vaše funkcije unutar timeit () na naredbenom retku je sljedeća:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement… ]

Parametri naredbenog retka:

  • -n N: koliko puta želite da se kôd izvrši.
  • -r N: koliko puta želite da se funkcija timeit () ponovi
  • -s S: ovo će imati detalje o podešavanju koji će se izvršiti prije izvršenja koda.
  • -t: za ovo možete iskoristiti time.time ()
  • -c: za ovo možete iskoristiti time.clock ()
  • -h: za pomoć
  • izjava koda: detalji koda.

Primjer:

C:\pythontest>python -m timeit -s 'text="hello world"'20000000 loops, best of 5: 13.1 nsec per loop

Drugi način na koji možete izvršiti unutar naredbenog retka je kako je prikazano dolje:

Primjer :

>>> import timeit>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))The time taken is 0.15048536300000137>>>

Zašto je timeit () najbolji način za mjerenje vremena izvršavanja Python koda?

Evo nekoliko razloga zašto smatramo da je timeit () najbolji način za mjerenje vremena izvršenja.

  • Izvodi naredbu koda 1 milijun puta koja je zadana vrijednost i od toga će vam vratiti minimalno potrebno vrijeme. Također možete povećati / smanjiti milion postavljanjem broja argumenta u funkciji time ().
  • Tijekom izvođenja testa, odvoz smeća onemogućen je svaki put po funkciji time ().
  • timeit () interno uzima točno vrijeme prema vašem operativnom sustavu koji se koristi. Na primjer, koristit će time.clock () za operativni sustav Windows i time.time () za Mac i Linux.

Sažetak

Timeit () koristi se za dobivanje vremena izvršenja datog malog koda

Parametri koji se koriste s timeit ()

  • stmt: Ovo će uzeti kôd koji želite izmjeriti vrijeme izvršenja
  • setup: Ovo će imati detalje o podešavanju koje treba izvršiti prije stmt-a
  • timer: Ovo će imati vrijednost timera, timeit () već ima zadanu vrijednost, a mi je možemo zanemariti.
  • broj: Stmt će se izvršiti prema broju koji je ovdje dat.