Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 16030|Antwoord: 0

[Tips] Verschillende methoden voor het berekenen van uitvoeringstijden in Python

[Link kopiëren]
Geplaatst op 23-04-2018 15:54:36 | | | |
Laten we het eerst hebben over de valkuilen die ik tegenkwam, de problemen die ik in productie tegenkwam; ik plan de uitvoering van het python-script en monitor het proces, de looptijd van het python-script is veel langer dan de uitvoeringstijd die ik in het python-script meetel.
De tijd om de uitvoering van pythonscripts te monitoren is 36 uur, terwijl de tijd van zelfuitvoering in python-scripts ongeveer 4 uur is.
Het eerste wat in me opkomt na het probleem is dat er een probleem is met Linux, en ik heb geen afwijkingen gevonden in verschillende logs.
Dan denk ik aan de py2neo die in Python wordt gebruikt om data asynchroon te schrijven, waardoor de uitvoering van het proces wordt geblokkeerd.
Uiteindelijk werd het probleem gevonden: de manier waarop het python-script time.clock() gebruikt om de uitvoeringstijd van de CPU te tellen, niet de uitvoeringstijd van het programma.
Laten we nu verschillende Python-tijdstatistieken vergelijken:

Methode 1:

datetime.datetime.now() krijgt de huidige datum, en nadat de programma-uitvoering is beëindigd, is de tijdwaarde die met deze methode wordt verkregen het tijdstip van programma-uitvoering.

Methode 2:

time.time() om de huidige tijd sinds het tijdperk te krijgen (In enkele seconden)。 Als de systeemklok ze levert, kan er een fractie van een seconde zijn. Dus deze plek geeft een floating-point-type terug. Wat hier wordt verkregen, is ook de uitvoeringstijd van het programma.

Methode 3:

time.clock() geeft de CPU-tijd terug sinds het programma is gestart of voor het eerst werd aangeroepen. Dit heeft net zoveel precisie als systeemopname. De retour is ook van het type floating-point. Wat je hier krijgt is de uitvoeringstijd van de CPU.
Opmerking: Uitvoeringstijd van het programma = CPU-tijd + io-tijd + hibernatie- of wachttijd

Zo test ik de uitvoeringstijd van de functie met methode 2:







Vorig:python 3.6.5 installatietutorial onder Windows
Volgend:De evolutie van de Neurale Netwerkarchitectuur: Een uitgebreide review van meer dan tien architecturen van LeNet5 tot ENet
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com