Python Timeit () med eksempler

Innholdsfortegnelse:

Anonim

Hva er Python Timeit ()?

Python timeit () er en metode i Python-biblioteket for å måle kjøringstiden tatt av det gitte kodebiten. Python-biblioteket kjører kodeoppgaven 1 million ganger og gir den minste tiden det tar fra det gitte settet med kodebiter. Python timeit () er en nyttig metode som hjelper til med å kontrollere ytelsen til koden.

Syntaks:

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

Parametere

  • stmt : Dette tar koden du vil måle utførelsestiden for. Standardverdien er "bestått".
  • oppsett : Dette vil ha oppsettdetaljer som må utføres før stmt. Standardverdien er "bestått".
  • timer : Dette vil ha tidsverdien, timeit () har allerede en standardverdi satt, og vi kan ignorere den.
  • nummer : Stmt vil kjøre i henhold til tallet er gitt her. Standardverdien er 1000000.

For å jobbe med timeit (), må vi importere modulen, som vist nedenfor:

import timeit

Første eksempel

Her er et enkelt eksempel på timeit () -funksjon

Kodeeksempel 1:

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

Produksjon:

0.06127880399999999

Vi har sett et enkelt eksempel som gir oss utførelsestiden for den enkle kodesettingsutgangen = 10 * 5, og tiden det tar å utføre den er 0,06127880399999999.

Timing Flere linjer i python-kode

Det er to du kan utføre flere kodelinjer i timeit.timeit (), ved hjelp av semikolon eller ved å lagre koden som er vedlagt som en streng med trippel anførselstegn.

Her er eksempler som viser hvordan den fungerer.

Eksempel 1: Bruk semikolon

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

Produksjon:

The time taken is 0.137031482

Eksempel 2: Bruke trippel anførselstegn

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

Produksjon:

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

timeit - Metoder:

Her er to viktige tidsmetoder

timeit.default_timer () : Dette returnerer standardtiden når den kjøres.

timeit.repeat (stmt, setup, timer, repeat, number) : samme som timeit (), men med repeat kalles timeit () det antall ganger repetisjon er gitt.

Programeksempel 1:

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

Produksjon:

0.46715912400000004

Eksempel 2:

default_timer () Eksempel

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

Produksjon:

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

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

Produksjon:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat () fungerer som timeit.timeit () -funksjonen, med den eneste forskjellen det tar i repeteringsargumentet og gir tilbake utføringstiden i matriseformat med verdier i henhold til repeteringsnummeret.

Utfører timingfunksjon timeit.timeit () inne i kommandolinjegrensesnittet

Syntaksen for å utføre funksjonen din i timeit () på kommandolinjen er som følger:

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

Kommandolinjeparametere:

  • -n N: antall ganger du vil at koden skal utføres.
  • -r N: antall ganger du vil at timeit () -funksjonen skal gjenta
  • -s S: dette vil ha oppsettdetaljer som vil bli utført før kjøring av kode.
  • -t: for dette kan du bruke time.time ()
  • -c: for dette kan du benytte deg av time.clock ()
  • -h: for hjelp
  • kodeuttrykk: Kodedetaljene.

Eksempel:

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

En annen måte du kan utføre på kommandolinjen er som vist nedenfor:

Eksempel:

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

Hvorfor er timeit () den beste måten å måle utføringstiden for Python-kode på?

Her er noen grunner til at vi anser timeit () som den beste måten å måle utførelsestid på.

  • Den kjører kodeoppgaven 1 million ganger som er standardverdien, og fra den vil den gi deg den minimale tiden det tar. Du kan også øke / redusere 1 million ved å sette argumentnummeret i time () -funksjonen.
  • Mens testen utføres, er søppeloppsamlingen deaktivert hver gang etter gang () -funksjonen.
  • timeit () internt tar nøyaktig tid i henhold til operativsystemet ditt som brukes. For eksempel vil den bruke time.clock () for Windows-operativsystem og time.time () for mac og Linux.

Sammendrag

Timeit () brukes til å få utført tid for den lille koden som er gitt

Parametere brukt med timeit ()

  • stmt: Dette tar koden du vil måle utførelsestiden
  • oppsett: Dette vil ha oppsettdetaljer som må utføres før stmt
  • timer: Dette vil ha tidsverdien, timeit () har allerede en standardverdi satt, og vi kan ignorere den.
  • nummer: Stmt vil kjøre i henhold til tallet er gitt her.