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.