Python Timeit () példákkal

Tartalomjegyzék:

Anonim

Mi az a Python Timeit ()?

A Python timeit () egy módszer a Python könyvtárban az adott kódrészlet által végrehajtott idő mérésére. A Python könyvtár egymilliószor futtatja a kódkivonatot, és megadja az adott kódrészletek adott készletéhez szükséges minimális időt. A Python timeit () hasznos módszer, amely segít a kód teljesítményének ellenőrzésében.

Szintaxis:

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

Paraméterek

  • stmt : Ehhez meg kell adni azt a kódot, amelynek a végrehajtási idejét meg akarja mérni. Az alapértelmezett érték a "pass".
  • setup : Ennek a telepítés részletei lesznek, amelyeket az stmt előtt végre kell hajtani. Az alapértelmezett érték a "pass".
  • időzítő : Ennek meg lesz az időzítő értéke, a timeit () már rendelkezik alapértelmezett értékkel, és figyelmen kívül hagyhatjuk.
  • szám : Az stmt az itt megadott szám szerint fog végrehajtani. Az alapértelmezett érték 1000000.

A timeit () használatához importálnunk kell a modult az alábbiak szerint:

import timeit

Első példa

Itt van egy egyszerű példa a timeit () függvényre

1. kód példa:

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

Kimenet:

0.06127880399999999

Láttunk egy egyszerű példát, amely megadja az egyszerű kódkimenet végrehajtásának idejét = 10 * 5, és a végrehajtáshoz szükséges idő 0,06127880399999999.

Időzítés Több sor a python kódban

Kettő futtatható több kódsorban a timeit.timeit () mezőben, pontosvesszővel, vagy hármas idézőjelekkel karaktersorozatként elmentve.

Íme néhány példa, amely bemutatja annak működését.

1. példa: pontosvessző használata

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

Kimenet:

The time taken is 0.137031482

2. példa: Hármas idézőjelek használata

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

Kimenet:

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

timeit - Módszerek:

Itt van 2 fontos timeit módszer

timeit.default_timer () : Ez visszaadja az alapértelmezett időt végrehajtáskor.

timeit.repeat (stmt, beállítás, időzítő, ismétlés, szám) : ugyanaz, mint a timeit (), de az ismétléssel az timeit () számot hívjuk meg, hogy hányszor adjuk meg az ismétlést.

1. program példa:

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

Kimenet:

0.46715912400000004

2. példa:

default_timer () Példa

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

Kimenet:

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

3. példa: 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))

Kimenet:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

A timeit.repeat () a timeit.timeit () függvényhez hasonlóan működik, az egyetlen különbséggel az ismétlés argumentumban szerepel, és tömb formátumban adja vissza a végrehajtási időt az ismétlés számának megfelelő értékekkel.

A timeit.timeit () időzítési funkció végrehajtása a parancssori felületen belül

A parancsfájlon belüli timeit () funkció végrehajtásának szintaxisa a következő:

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

Parancssori paraméterek:

  • -n N: a kód végrehajtásának száma.
  • -r N: a timeit () függvény ismétlésének száma
  • -s S: ennek olyan beállításai lesznek, amelyeket a kód végrehajtása előtt végrehajtanak.
  • -t: ehhez használhatja az time.time ()
  • -c: ehhez használhatja az időt.clock ()
  • -h: segítségért
  • kódkivonat: A kód részletei.

Példa:

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

A parancssoron belüli végrehajtás másik módja az alábbi:

Példa :

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

Miért a timeit () a legjobb módszer a Python-kód végrehajtási idejének mérésére?

Íme néhány ok, amiért úgy gondoljuk, hogy a timeit () a legjobb módszer a végrehajtási idő mérésére.

  • Milliószor futtatja a kódot, ami az alapértelmezett érték, és ettől megkapja a minimálisan igénybe vett időt. Az 1 milliót növelheti / csökkentheti az argumentum számának időben () funkció beállításával.
  • A teszt végrehajtása közben a szemétszállítás minden alkalommal le van tiltva ().
  • A timeit () a pontos időt veszi igénybe a használt operációs rendszer szerint. Például a Windows operációs rendszerhez a time.clock (), mac és Linux esetén a time.time () függvényt fogja használni.

Összegzés

A Timeit () arra szolgál, hogy megkapja a megadott kis kód végrehajtási idejét

A timeit () paraméterrel használt paraméterek

  • stmt: Ehhez meg kell adni azt a kódot, amellyel meg akarja mérni a végrehajtás idejét
  • setup: Ennek a telepítés részletei lesznek, amelyeket az stmt előtt végre kell hajtani
  • időzítő: Ennek meg lesz az időzítő értéke, a timeit () már rendelkezik alapértelmezett értékkel, és figyelmen kívül hagyhatjuk.
  • szám: Az stmt az itt megadott szám szerint fog végrehajtani.