Ensiksi puhutaan sudenkuopista, joita kohtasin, tuotannon ongelmista, aikataulutan python-skriptin suorituksen ja seuraan prosessia, python-skriptin suoritusaika on paljon pidempi kuin ohjelman suoritusaika, jonka lasken python-skriptissä. Python-skriptien suorituksen seuranta-aika on 36 tuntia, kun taas python-skriptien itsesuoritusaika on noin 4 tuntia. Ensimmäinen asia, joka tulee mieleen ongelman jälkeen, on että Linuxissa on ongelma, enkä löytänyt poikkeavuuksia eri lokkeista. Sitten ajattelen py2neo:ta, jota käytetään pythonissa datan kirjoittamiseen asynkronisesti, estäen prosessin suorittamisen. Lopuksi ongelma löytyi: tapa, jolla python-skripti käyttää time.clock()-tiedostoa CPU:n suoritusajan laskemiseen, ei ohjelman suoritusaikaan. Seuraavaksi vertaillaan useita Pythonin aikatilastoja:
Menetelmä 1:
datetime.datetime.now() saa nykyisen päivämäärän, ja ohjelman suorituksen päätyttyä tämän menetelmän saatu aikaarvo on ohjelman suoritusaika.
Menetelmä 2:
time.time() saadakseen nykyisen ajan ajanjaksosta (Sekunneissa)。 Jos järjestelmän kello tarjoaa ne, sekunteja voi olla vain murto-osa. Tämä paikka palauttaa liukulukutyypin. Tässä saadaan myös ohjelman suoritusaika.
Menetelmä 3:
time.clock() palauttaa suorittimen ajan ohjelman alusta tai kutsusta lähtien. Tämä on yhtä tarkkaa kuin järjestelmätallennus. Paluu on myös liukulukutyyppi. Tässä saat suorittimen suoritusajan. Huomautus: Ohjelman suoritusaika = prosessorin aika + io-aika + horrosaika tai odotusaika
Näin testaan funktion suoritusaikaa menetelmällä 2:
|