Python: općenite usluge operacijskog sustava: vrijeme
module time
(službena dokumentacija) nudi funkcije vezane uz vrijemetime.time()
vraća trenutno vrijeme sustava, zapis tipafloat
koji označava broj sekundi od epohe (u ovom slučaju 1. siječnja 1970. godine kad počinje brojanje vremena po Unixu, a općenito može biti prva Olimpijada, osnutak Rima ili sl.)time.ctime()
vraća trenutno vrijeme sustava, zapis tipastr
oblika'Sun Jun 20 20:35:27 1993'
time.sleep(seconds)
čini da proces spavaseconds
sekundi
Zadatak
Cilj je mjeriti vrijeme izvođenja. Napišite program koji na početku i na kraju zapisuje vrijeme u dvije različite varijable (recimo, start_time
i end_time
). Između ta dva pridruživanja vrijednosti učinite da program "spava" 5 sekundi, nakon toga ispiše na ekran "spavao sam 5 sekundi"
.
Nakon računanja ukupnog vremena izvođenja kao razlike krajnjeg i početnog vremena, program ispisuje na ekran Ukupno vrijeme izvođenja:
i izračunato vrijeme. (Napomena: Razmislite zašto je razlika ta dva vremena jednaka proteklom vremenu te paše li vam za izračun više zapis tipa float
ili zapis tipa str
.)
Zadatak
Proučite primjere formatiranja znakovnih nizova u Pythonu, a zatim modificirajte prethodni zadatak tako da ispisuje trajanje izvođenja u obliku:
Ukupno vrijeme izvođenja:
i vrijeme s preciznošću na jedno decimalno mjesto.Ukupno vrijeme izvođenja: ... sekundi i ... stotinki
, gdje ćete na mjesta trotočke postaviti broj sekundi i broj stotinki u cjelobrojnom zapisu.
Zadatak
Izmjerite brzinu izvođenja ovih operacija u Pythonu:
- otvaranje datoteke
/etc/passwd
, čitanje njenog sadržaja i zatvaranje datoteke. - računanje produkta prvih 100 000 prirodnih brojeva,
- računanje zbroja prvih 500 000 prirodnih brojeva.
Author: Vedran Miletić