Kako naj opišemo, koliko časa traja ta postopek? Zdaj ko ga imamo že implementiranega v nekem konkretnem programskem jeziku, ga lahko zaženemo na nekih konkretnih podatkih in izmerimo, koliko sekund (ali milisekund, mikrosekund ipd.) se je izvajal. Da ne bomo ob računalniku stali s štoparico, lahko uporabimo eno od funkcij za merjenje časa, ki so že vgrajene v skoraj vsak programski jezik.
V pythonu lahko to na primer naredimo takole:
S takšnimi meritvami časa je podobno kot z meritvami v fiziki – so bolj ali manj nenatančne, izpostavljene raznim vrstam merskih napak in podobno. Če isto meritev zaženemo večkrat, bomo dobili različne rezultate, odvisno od stvari, na katere nimamo veliko vpliva (npr. kaj se ta hip še dogaja v računalniku). Pri naših meritvah hitrosti izvajanja programa na levi so bili dobljeni časi med 38 do 126 milisekund.
Mimogrede, v pythonu obstaja za merjenje časa izvajanja tudi malo bolj zapletena možnost – modul timeit
– vendar ta merske napake le zmanjša, ne more pa se jim čisto izogniti.
Dopolni primer tako, da bo program meritev časa ponovil stokrat (pri istih a
in s
) ter na koncu izpisal najmanjšo, največjo in povprečno porabo časa po vseh stotih poskusih.
Ko bomo v nadaljevanju te učne enote prikazovali konkretne meritve časa, bo to vedno povprečje po stotih izvajanjih funkcije (na enakih vhodnih podatkih).