Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 16030|Odgovoriti: 0

[Napitnine] Več metod izračuna časa izvajanja v Pythonu

[Kopiraj povezavo]
Objavljeno na 23. 04. 2018 15:54:36 | | | |
Najprej se pogovorimo o pasteh, s katerimi sem se srečal, težavah v produkciji, načrtujem izvajanje python skripte in spremljam proces, čas izvajanja python skripte je bistveno daljši od časa izvajanja programa, ki ga štejem v python skripti.
Čas za spremljanje izvajanja python skript je 36 ur, medtem ko je čas samoizvajanja v python skriptah približno 4 ure.
Prva stvar, ki mi pride na misel po težavi, je, da obstaja težava z Linuxom, in nisem našel nobenih nepravilnosti v različnih dnevnikih.
Potem pomislim na py2neo, ki se uporablja v Pythonu za asinhrono zapisovanje podatkov, kar blokira izvajanje procesa.
Nazadnje je bila odkrita težava: način, kako python skripta uporablja time.clock() za štetje časa izvajanja procesorja, ne pa časa izvajanja programa.
Nato primerjajmo več statistik časa v Pythonu:

Metoda 1:

datetime.datetime.now() dobi trenutni datum, po koncu izvajanja programa pa je časovna vrednost, pridobljena s to metodo, čas izvajanja programa.

Metoda 2:

time.time() da dobimo trenutni čas od epohe (V nekaj sekundah)。 Če jih sistemska ura omogoča, je lahko le delček sekunde. Torej to mesto vrne tip s plavajočo vejico. Dobimo tudi čas izvajanja programa.

Metoda 3:

time.clock() vrne CPU čas od začetka programa ali prvega klica. To ima enako natančnost kot sistemsko snemanje. Povratna vrednost je prav tako tipa s plavajočo vejico. Tukaj dobite čas izvajanja procesorja.
Opomba: Čas izvajanja programa = CPU čas + IO čas + hibernacija ali čas čakanja

Tako testiram čas izvajanja funkcije z metodo 2:







Prejšnji:Tutorial za namestitev pythona 3.6.5 pod Windows
Naslednji:Evolucija arhitekture nevronskih mrež: Celovit pregled več kot desetih arhitektur od LeNet5 do ENet
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com