Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 16030|Atsakyti: 0

[Patarimai] Keli Python vykdymo laiko skaičiavimo metodai

[Kopijuoti nuorodą]
Paskelbta 2018-04-23 15:54:36 | | | |
Visų pirma, pakalbėkime apie spąstus, su kuriais susidūriau, problemas, su kuriomis susidūriau gamyboje, planuoju python scenarijaus vykdymą ir stebiu procesą, python scenarijaus veikimo laikas yra daug ilgesnis nei programos vykdymo laikas, kurį skaičiuoju python scenarijuje.
Python scenarijų vykdymo stebėjimo laikas yra 36 valandos, o python scenarijų savaiminio vykdymo laikas yra apie 4 valandas.
Pirmas dalykas, kuris ateina į galvą po problemos, yra tai, kad yra problema su Linux, ir aš neradau jokių anomalijų įvairiuose žurnaluose.
Tada galvoju apie py2neo, naudojamą python duomenims rašyti asinchroniškai, blokuojant proceso vykdymą.
Galiausiai buvo rasta problema: kaip python scenarijus naudoja time.clock(), kad suskaičiuotų procesoriaus vykdymo laiką, o ne programos vykdymo laiką.
Toliau palyginkime keletą Python laiko statistikos:

1 metodas:

datetime.datetime.now() gauna dabartinę datą, o pasibaigus programos vykdymui, šiuo metodu gauta laiko reikšmė yra programos vykdymo laikas.

2 metodas:

time.time(), kad gautumėte dabartinį laiką nuo epochos (Per kelias sekundes)。 Jei sistemos laikrodis juos pateikia, gali būti sekundžių dalis. Taigi ši vieta grąžina slankiojo kablelio tipą. Čia taip pat gaunamas programos vykdymo laikas.

3 metodas:

time.clock() grąžina procesoriaus laiką nuo programos paleidimo arba pirmojo iškvietimo. Tai yra toks pat tikslumas, kaip ir sistemos įrašymas. Grąža taip pat yra slankiojo kablelio tipo. Čia gausite procesoriaus vykdymo laiką.
Pastaba: Programos vykdymo laikas = procesoriaus laikas + io laikas + užmigdymo arba laukimo laikas

Štai kaip aš patikrinu funkcijos vykdymo laiką naudodamas 2 metodą:







Ankstesnis:python 3.6.5 diegimo pamoka sistemoje Windows
Kitą:Neuroninių tinklų architektūros evoliucija: išsami daugiau nei dešimties architektūrų apžvalga nuo LeNet5 iki ENet
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com