Először is, beszéljünk a buktatóimról, amikkel találkoztam, a gyártásban tapasztalt problémákról, ütemezem a python szkript futtatását és figyelem a folyamatot, a python szkript futási ideje sokkal hosszabb, mint amit a python szkriptben számolok. A python szkriptek végrehajtásának nyomon követésének ideje 36 óra, míg a python szkriptekben az önvégrehajtás ideje körülbelül 4 óra. Az első dolog, ami eszembe jut a probléma után, hogy van egy probléma a Linux-szal, és nem találtam semmilyen rendellenességet különböző naplókban. Ezután eszembe jut a py2neo, amit a pythonban használnak, hogy aszinkron módon írják az adatokat, blokkolva a folyamat végrehajtását. Végül megtalálták a problémát: a python szkript a time.clock() segítségével számolja a CPU végrehajtási idejét, nem pedig a program végrehajtási idejét. Ezután hasonlítsuk össze több Python időstatisztikát:
1. módszer:
datetime.datetime.now() kapja az aktuális dátumot, és a program végrehajtása után a módszer által kapott időérték a program végrehajtásának időpontja.
2. módszer:
time.time() kapja meg az aktuális időt az epoch óta (Másodpercek alatt)。 Ha a rendszeróra megadja ezeket, előfordulhat, hogy töredéke másodperceknek. Ez a hely egy lebegőpontos típust ad vissza. Amit itt kapunk, az a program végrehajtási ideje is.
3. módszer:
a time.clock() visszaadja a CPU idejét a program elindulása vagy az első hívása óta. Ez ugyanolyan precizitású, mint a rendszerfelvétel. A visszaadás is lebegőpontos típusú. Amit itt kapunk, az a CPU végrehajtási ideje. Megjegyzés: Program végrehajtási idő = CPU idő + io idő + hibernáció vagy várakozási idő
Így tesztem a függvény végrehajtási idejét a 2-es módszerrel:
|