Python Timeit() koos näidetega
Mis on Python Timeit()?
Python timeit () on meetod Python teek, et mõõta antud koodilõigu täitmisaega. The Python teek käivitab koodilause 1 miljon korda ja annab minimaalse aja, mis on võetud antud koodilõikude komplektist. Python timeit() on kasulik meetod, mis aitab kontrollida koodi jõudlust.
Süntaks
timeit.timeit(stmt, setup,timer, number)
parameetrid
- stmt: see võtab koodi, mille täitmise aega soovite mõõta. Vaikeväärtus on "pass".
- seade: sellel on seadistuse üksikasjad, mis tuleb käivitada enne stmt. Vaikeväärtus on "pass".
- taimer: sellel on taimeri väärtus, timeit()-l on juba vaikeväärtus määratud ja me võime seda ignoreerida.
- number: stmt käivitatakse vastavalt siin antud numbrile. Vaikeväärtus on 1000000.
Funktsiooni timeit() kasutamiseks peame importima mooduli, nagu allpool näidatud:
import timeit
Esimene näide
Siin on lihtne näide timeit() funktsioonist
Koodi näide 1
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Väljund:
0.06127880399999999
Oleme näinud lihtsat näidet, mis annab meile lihtsa koodilause väljundi täitmisaja = 10*5 ja selle täitmiseks kuluv aeg on 0.06127880399999999.
Ajastus Pythoni koodis mitu rida
Faili timeit.timeit() abil saate käivitada mitu koodirida kahel viisil, kasutades semikoolonit või salvestades koodi kolmekordsete jutumärkidega stringina.
Siin on näited, mis näitavad selle toimimist.
Näide 1: semikooloni kasutamine
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Väljund:
The time taken is 0.137031482
Näide 2: kolmekordsete jutumärkide kasutamine
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Väljund:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – meetodid
Siin on 2 olulist ajamõõtmismeetodit
timeit.default_timer() : see tagastab käivitamisel vaikeaja.
timeit.repeat(stmt, seadistus, taimer, kordus, number) : sama, mis timeit() , kuid korduse korral nimetatakse timeit() kordamiste arvu, mis on antud.
Programmi näide 1
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Väljund:
0.46715912400000004
Näiteks 2
default_timer() Näide
# testing timeit() import timeit import random def 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)
Väljund:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Näide 3: timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Väljund:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() töötab sarnaselt funktsiooniga timeit.timeit(), ainsa erinevusega, et see võtab kordamisargumendi ja annab tagasi täitmisaja massiivivormingus väärtustega, mis vastavad kordusnumbrile.
Ajastusfunktsiooni timeit.timeit() käivitamine käsurea liideses
Süntaks teie funktsiooni täitmiseks käsureal timeit() sees on järgmine:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Käsurea parameetrid:
- -n N: mitu korda soovite koodi käivitada.
- -r N: kordade arv, mitu korda soovite funktsiooni timeit() kordamise
- -s S: sellel on seadistuse üksikasjad, mis käivitatakse enne koodi käivitamist.
- -t: selleks saate kasutada time.time()
- -c: selleks saate kasutada time.clock()
- -h: abi saamiseks
- koodilause: koodi üksikasjad.
Näide
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Teine võimalus käsureal käivitamiseks on järgmine:
Näide
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
Miks on timeit() parim viis täitmisaja mõõtmiseks Python kood?
Siin on mõned põhjused, miks me arvame, et timeit() on parim viis täitmisaja mõõtmiseks.
- See käivitab koodilause 1 miljon korda, mis on vaikeväärtus, ja sellest alates tagastab see teile minimaalse kulunud aja. Samuti saate 1 miljonit suurendada/vähendada, määrates argumendi numbri ajas () funktsioonis.
- Testi sooritamise ajal on prügi kogumine aeg () funktsiooniga iga kord keelatud.
- timeit() võtab sisemiselt täpse aja vastavalt teie kasutatavale operatsioonisüsteemile. Näiteks kasutab see jaoks time.clock(). Windows operatsioonisüsteem ja time.time() Maci ja Linuxi jaoks.
kokkuvõte
Timeit() kasutatakse antud väikese koodi täitmise aja saamiseks
Parameetrid, mida kasutatakse koos timeit()
- stmt: see võtab koodi, mille täitmise aega soovite mõõta
- setup: sellel on seadistuse üksikasjad, mis tuleb käivitada enne stmt
- taimer: sellel on taimeri väärtus, timeit()-l on juba vaikeväärtus määratud ja me võime seda ignoreerida.
- number: stmt käivitatakse vastavalt siin antud numbrile.