Python Timeit () esimerkeillä

Sisällysluettelo:

Anonim

Mikä on Python Timeit ()?

Python timeit () on menetelmä Python-kirjastossa mittaamaan annetun koodinpätkän toteuttamisaikaa. Python-kirjasto suorittaa koodilausekkeen miljoona kertaa ja tarjoaa vähimmäisajan, joka on annettu annetusta koodinpätkäjoukosta. Python timeit () on hyödyllinen menetelmä, joka auttaa tarkistamaan koodin suorituskyvyn.

Syntaksi:

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

Parametrit

  • stmt : Tämä vie koodin, jolle haluat mitata suoritusajan. Oletusarvo on "pass".
  • setup : Tällä on asennustiedot, jotka on suoritettava ennen vakiomääritystä. Oletusarvo on "pass".
  • ajastin : Tällä on ajastimen arvo, timeit (): llä on jo oletusarvo, ja voimme jättää sen huomiotta.
  • numero : Ohjaus suoritetaan kuten tässä annettu numero on. Oletusarvo on 1000000.

Toimiakseen timeit (): n kanssa meidän on tuotava moduuli alla olevan kuvan mukaisesti:

import timeit

Ensimmäinen esimerkki

Tässä on yksinkertainen esimerkki timeit () -funktiosta

Koodiesimerkki 1:

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

Tuotos:

0.06127880399999999

Olemme nähneet yksinkertaisen esimerkin, joka antaa yksinkertaisen koodilausekkeen lähtöajan suoritusajan = 10 * 5, ja sen suorittamiseen kuluu aika 0,06127880399999999.

Ajoitus Useita rivejä python-koodissa

On kaksi, jotka voit suorittaa useita koodirivejä timeit.timeit () -palvelussa puolipisteellä tai tallentamalla koodin merkkijonona kolminkertaisissa lainausmerkeissä.

Tässä on esimerkkejä, jotka osoittavat sen toiminnan.

Esimerkki 1: Puolipisteen käyttö

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

Tuotos:

The time taken is 0.137031482

Esimerkki 2: Kolmoisten lainausmerkkien käyttö

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

Tuotos:

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

timeit - Menetelmät:

Tässä on 2 tärkeää timeit-menetelmää

timeit.default_timer () : Tämä palauttaa oletusajan suorituksen yhteydessä .

timeit.repeat (stmt, setup, ajastin, toisto, numero) : sama kuin timeit (), mutta toiston yhteydessä timeit () kutsutaan toistokertojen määräksi.

Ohjelman esimerkki 1:

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

Tuotos:

0.46715912400000004

Esimerkki 2:

default_timer () Esimerkki

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

Tuotos:

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

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

Tuotos:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat () toimii samalla tavalla kuin timeit.timeit () -funktio, ainoalla erolla, jonka se ottaa toistoargumentissa ja palauttaa suoritusajan matriisimuodossa arvoilla toistonumeron mukaan.

Suoritetaan ajoitustoiminto timeit.timeit () komentoriviliittymän sisällä

Syntaksi toiminnon suorittamiseksi komentorivillä timeit () on seuraava:

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

Komentoriviparametrit:

  • -n N: kuinka monta kertaa haluat koodin suoritettavan.
  • -r N: kuinka monta kertaa haluat timeit () -toiminnon toistuvan
  • -s S: Tällä on asennustiedot, jotka suoritetaan ennen koodin suorittamista.
  • -t: Tätä varten voit käyttää aikaa. aika ()
  • -c: Tätä varten voit käyttää aikaa. clock ()
  • -h: apua varten
  • koodilausunto: Koodin tiedot.

Esimerkki:

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

Toinen tapa voit suorittaa komentorivin sisällä on seuraava:

Esimerkki:

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

Miksi timeit () on paras tapa mitata Python-koodin suoritusaika?

Tässä on muutama syy, miksi katsomme, että timeit () on paras tapa mitata suoritusaikaa.

  • Se suorittaa koodilausekkeen miljoona kertaa, mikä on oletusarvo, ja se palauttaa sinulle vähimmäisajan. Voit myös lisätä / vähentää 1 miljoonaa asettamalla argumentin numeron time () -funktiolle.
  • Testin suorittamisen aikana roskien keruu poistetaan käytöstä joka kerta () -toiminto.
  • timeit () vie sisäisesti tarkan ajan käyttöjärjestelmän mukaan. Esimerkiksi se käyttää time.clock () Windows-käyttöjärjestelmälle ja time.time () mac ja Linux.

Yhteenveto

Timeit () -toimintoa käytetään antamaan suoritetulle ajalle annettu pieni koodi

Timeit () -parametrit

  • stmt: Tämä vie koodin, jonka haluat mitata suoritusajan
  • setup: Tällä on asennustiedot, jotka on suoritettava ennen vakiomääritystä
  • ajastin: Tällä on ajastimen arvo, timeit (): llä on jo oletusarvo, ja voimme jättää sen huomiotta.
  • numero: Ohjaus suoritetaan kuten tässä annettu numero on.