Python Timeit () koos näidetega

Lang L: none (table-of-contents):

Anonim

Mis on Python Timeit ()?

Python timeit () on meetod Pythoni teegis, et mõõta antud koodijupi kulutatud täitmisaega. Pythoni teek käitab koodilauset miljon korda ja annab minimaalse aja, mis kulub antud koodilõikude komplektist. Python timeit () on kasulik meetod, mis aitab kontrollida koodi toimivust.

Süntaks:

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

Parameetrid

  • stmt : See võtab koodi, mille täitmisaega soovite mõõta. Vaikeväärtus on "pass".
  • häälestus : sellel on seadistamise üksikasjad, mis tuleb enne stmt käivitada. Vaikeväärtus on "pass".
  • taimer : sellel on taimeri väärtus, timeit () on juba vaikeväärtuse määratud ja me võime seda ignoreerida.
  • number : stmt käivitatakse vastavalt siin toodud numbrile. Vaikeväärtus on 1000000.

Timeit () -ga töötamiseks peame mooduli importima, nagu allpool näidatud:

import timeit

Esimene näide

Siin on lihtne näide funktsioonist timeit ()

Koodinäide 1:

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

Väljund:

0.06127880399999999

Oleme näinud lihtsat näidet, mis annab lihtsa koodiväljavõtte väljundi täitmisaja = 10 * 5 ja selle täitmiseks kulub aega 0,06127880399999999.

Ajastus Mitu rida pythoni koodis

On kaks, mida saate käivitada mitmes koodireas failis timeit.timeit (), kasutades selleks semikoolonit või salvestades kolmik jutumärkidega stringina suletud koodi.

Siin on näited, mis näitavad selle toimimist.

Näide 1: semikooloni kasutamine

import timeitprint("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 timeitimport_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.pyThe time taken is 0.182619178

timeit - meetodid:

Siin on 2 olulist timeit-meetodit

timeit.default_timer () : see tagastab käivitamisel vaikeaja .

timeit.repeat (stmt, setup, taimer, kordus, arv) : sama mis timeit (), kuid kordusega nimetatakse timeit () korduste arvu.

Programmi näide 1:

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

Väljund:

0.46715912400000004

Näide 2:

default_timer () Näide

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

Väljund:

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

Näide 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))

Väljund:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat () töötab sarnaselt funktsiooniga timeit.timeit (), ainsa erinevusega, mille see võtab korduse argumendis ja annab massiivi vormingus täitmisaja tagasi kordusnumbri väärtustega.

Ajafunktsiooni timeit.timeit () käivitamine käsurea liidese sees

Sõnaks oma funktsiooni käivitamiseks 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 täita.
  • -r N: funktsioonide timeit () korduste arv
  • -s S: sellel on seadistamise üksikasjad, mis käivitatakse enne koodi käivitamist.
  • -t: selleks saate kasutada time.time ()
  • -c: selleks saate kasutada aega.clock ()
  • -h: abi saamiseks
  • koodi väljavõte: koodi üksikasjad.

Näide:

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

Teine viis käsurea käivitamiseks on näidatud allpool:

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 Pythoni koodi täitmisaja mõõtmiseks?

Siin on mõned põhjused, miks peame timeit () parimaks viisiks täitmisaja mõõtmiseks.

  • See käitab koodilause miljon korda, see on vaikeväärtus ja sellest tagastab teile minimaalse kulunud aja. Samuti saate 1 miljonit suurendada / vähendada, määrates funktsiooni argumendi aeg ().
  • Testi sooritamise ajal on prügivedu keelatud iga kord, kui funktsioon funktsioon on.
  • timeit () võtab sisemiselt täpse aja vastavalt kasutatavale opsüsteemile. Näiteks kasutab see Windowsi operatsioonisüsteemi jaoks time.clock () ja maci ja Linuxi jaoks time.time ().

Kokkuvõte

Timeit () kasutatakse antud väikese koodi täitmisaja saamiseks

Timeit () -ga kasutatavad parameetrid

  • stmt: See võtab koodi, mille soovite täitmisaega mõõta
  • häälestus: sellel on seadistamise üksikasjad, mis tuleb enne stmt käivitada
  • taimer: sellel on taimeri väärtus, timeit () on juba vaikeväärtuse määratud ja me võime seda ignoreerida.
  • number: stmt käivitatakse vastavalt siin toodud numbrile.