Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16030|Svar: 0

[Tips] Flere Python-metoder til beregning af eksekveringstid

[Kopier link]
Opslået på 23/04/2018 15.54.36 | | | |
Først og fremmest, lad os tale om de faldgruber, jeg stødte på, de problemer jeg stødte på i produktionen, jeg planlægger udførelsen af python-scriptet og overvåger processen, python-scriptets kørselstid er langt længere end den programeksekveringstid, jeg tæller i python-scriptet.
Tiden til at overvåge udførelsen af python-scripts er 36 timer, mens selvudførelsestiden i python-scripts er omkring 4 timer.
Det første, jeg kommer i tanke om efter problemet, er, at der er et problem med Linux, og jeg fandt ingen unormale fejl i forskellige logs.
Så tænker jeg på py2neo, der bruges i python til at skrive data asynkront og blokere udførelsen af processen.
Endelig blev problemet fundet: måden python-scriptet bruger time.clock() til at tælle CPU'ens eksekveringstid, ikke programmets eksekveringstid.
Lad os dernæst sammenligne flere Python-tidsstatistikker:

Metode 1:

datetime.datetime.now() får den aktuelle dato, og efter programudførelsen er afsluttet, er tidsværdien, som denne metode opnår, tidspunktet for programeksekveringen.

Metode 2:

time.time() for at få den nuværende tid siden epoken (På få sekunder)。 Hvis systemuret leverer dem, kan der være en brøkdel af sekunder. Så dette sted returnerer en flydende komma-type. Det, der opnås her, er også programmets eksekveringstid.

Metode 3:

time.clock() returnerer CPU-tiden siden programmet startede eller først blev kaldt. Dette har lige så meget præcision som systemoptagelse. Returen er også af flydende kommatal-typen. Det, du får her, er CPU'ens eksekveringstid.
Bemærk: Programeksekveringstid = CPU-tid + io-tid + dvale- eller ventetid

Her er, hvordan jeg tester udførelsestiden for funktionen ved hjælp af metode 2:







Tidligere:python 3.6.5 installationsvejledning under Windows
Næste:Udviklingen af neural netværksarkitektur: En omfattende gennemgang af mere end ti arkitekturer fra LeNet5 til ENet
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com