Kõigepealt räägime lõksudest, millega ma kokku puutusin, tootmises tekkinud probleemidest, ma ajastan python skripti täitmise ja jälgin protsessi, python skripti käitumisaeg on palju pikem kui programmi täitmise aeg, mida ma python skriptis loen. Python-skriptide täitmise jälgimise aeg on 36 tundi, samas kui python-skriptide isetäitmise aeg on umbes 4 tundi. Esimene asi, mis pärast probleemi pähe tuleb, on see, et Linuxis on probleem ja ma ei leidnud erinevatest logidest kõrvalekaldeid. Siis mõtlen py2neo-le, mida kasutatakse pythonis andmete asünkroonseks kirjutamiseks, blokeerides protsessi täitmise. Lõpuks leiti probleem: viis, kuidas python skript kasutab time.clock() protsessori täitmisaja lugemiseks, mitte programmi täitmisaega. Järgmisena võrdleme mitmeid Python'i ajastatistikat:
Meetod 1:
datetime.datetime.now() saab praeguse kuupäeva ning pärast programmi täitmise lõppu on selle meetodi abil saadud ajaväärtus programmi täitmise aeg.
Meetod 2:
time.time(), et saada praeguse aja alates ajast (Sekunditega)。 Kui süsteemi kell neid pakub, võib see olla vaid murdosa sekunditest. See koht tagastab ujukoma-tüübi. Siin saadakse ka programmi täitmise aeg.
Meetod 3:
time.clock() tagastab CPU aja alates programmi käivitamisest või esimesest kutsumisest. See on sama täpne kui süsteemi salvestamine. Tagasipöördumine on samuti ujukomaa tüüpi. Siin saad CPU täitmisaja. Märkus: Programmi täitmise aeg = protsessori aeg + io aeg + talveune- või ooteaeg
Siin on, kuidas ma testin funktsiooni täitmisaega meetodi 2 abil:
|