Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 16030|Répondre: 0

[Pourboires] Plusieurs méthodes de calcul du temps d’exécution en Python

[Copié le lien]
Publié sur 23/04/2018 15:54:36 | | | |
Tout d’abord, parlons des pièges que j’ai rencontrés, des problèmes rencontrés en production, je planifie l’exécution du script Python et surveille le processus, le temps d’exécution du script Python est bien plus long que le temps d’exécution du programme que je compte dans le script Python.
Le temps de surveillance de l’exécution des scripts Python est de 36 heures, tandis que le temps d’auto-exécution dans les scripts Python est d’environ 4 heures.
La première chose qui me vient à l’esprit après ce problème, c’est qu’il y a un souci avec Linux, et je n’ai trouvé aucune anomalie dans divers journaux.
Ensuite, je pense au py2neo utilisé en python pour écrire des données de façon asynchrone, bloquant l’exécution du processus.
Enfin, le problème a été trouvé : la façon dont le script python utilise time.clock() pour compter le temps d’exécution du CPU, et non celui du programme.
Ensuite, comparons plusieurs statistiques temporelles en Python :

Méthode 1 :

datetime.datetime.now() obtient la date actuelle, et après la fin de l’exécution du programme, la valeur temporelle obtenue par cette méthode correspond au temps d’exécution du programme.

Méthode 2 :

temps.temps() pour obtenir le temps courant depuis l’époque (En quelques secondes)。 Si l’horloge du système les fournit, il peut y avoir une fraction de seconde. Donc cet endroit renvoie un type de virgule flottante. Ce qui est obtenu ici, c’est aussi le temps d’exécution du programme.

Méthode 3 :

time.clock() renvoie l’heure CPU depuis le début ou l’appel du programme. Cela a autant de précision que l’enregistrement système. Le retour est également de type virgule flottante. Ce que vous obtenez ici, c’est le temps d’exécution du CPU.
Note : Temps d’exécution du programme = temps CPU + temps d’entrée en orbite + temps d’hibernation ou d’attente

Voici comment je teste le temps d’exécution de la fonction en utilisant la méthode 2 :







Précédent:Tutoriel d’installation de Python 3.6.5 sous Windows
Prochain:L’évolution de l’architecture des réseaux neuronaux : une revue complète de plus de dix architectures de LeNet5 à ENet
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com