Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 16030|Odpoveď: 0

[Tipy] Niekoľko metód výpočtu času vykonávania v Pythone

[Kopírovať odkaz]
Zverejnené 23. 4. 2018 15:54:36 | | | |
Najprv sa poďme porozprávať o úskaliach, na ktoré som narazil, o problémoch v produkcii, plánujem spustenie python skriptu a monitorujem proces, čas spustenia python skriptu je oveľa dlhší než čas spustenia programu, ktorý počítam v python skripte.
Čas na monitorovanie vykonávania python skriptov je 36 hodín, zatiaľ čo čas na samovykonanie v python skriptoch je približne 4 hodiny.
Prvá vec, ktorá mi napadne po probléme, je, že je problém s Linuxom, a nenašiel som žiadne abnormality v rôznych logoch.
Potom si spomeniem na py2neo, ktoré sa používa v pythone na asynchrónny zápis dát, čím blokuje vykonávanie procesu.
Nakoniec sa objavil problém: spôsob, akým python skript používa time.clock() na počítanie času vykonávania CPU, nie času vykonávania programu.
Ďalej porovnajme niekoľko štatistík Python času:

Metóda 1:

datetime.datetime.now() získa aktuálny dátum a po skončení spustenia programu je časová hodnota získaná touto metódou čas vykonania programu.

Metóda 2:

time.time() na získanie aktuálneho času od epochy (Za pár sekúnd)。 Ak ich poskytujú systémové hodiny, môže byť len zlomok sekundy. Takže toto miesto vracia typ s pohyblivou desatinnou čiarkou. Získavame tu aj čas vykonania programu.

Metóda 3:

time.clock() vráti čas CPU od spustenia alebo prvého volania programu. To má takú presnosť ako systémové nahrávanie. Návratnosť je tiež typu s pohyblivou desatinnou čiarkou. To, čo tu dostanete, je čas vykonávania CPU.
Poznámka: Čas vykonávania programu = čas CPU + čas IO + čas hibernácie alebo čakanie

Takto testujem čas vykonávania funkcie metódou 2:







Predchádzajúci:Inštalačný tutoriál python 3.6.5 pod Windows
Budúci:Evolúcia architektúry neurónových sietí: Komplexný prehľad viac ako desiatich architektúr od LeNet5 po ENet
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com