wallclock est simple enregistreur de performance basée sur la pile écrit en Python.
Wallclock fournit quelques outils simples pour identifier les parties lentes de votre code. Il maintient une pile de minuteries de fonctionnement, et signale l'arbre de temps d'exécution lorsque la pile se vide.
Utilisation simple
Pour le code de temps avec l'horloge murale, utilisez le `` et `` push`` fonctions pop`` fournies par le module de wallclock ::
& Nbsp; & nbsp; & nbsp; wallclock d'importation
& Nbsp; & nbsp; & nbsp; def slow_function ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push («Fonction lente»)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; le temps d'importation
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; time.sleep (3)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop («fonction lente»)
& Nbsp; & nbsp; & nbsp; def main ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push («manipulation une demande», enable = true)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slow_function ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop («manipulation une demande»)
& Nbsp; & nbsp; & nbsp; main ()
Ceci va produire un petit arbre sur `` stderr`` résumant le temps pris pour exécuter `` main () `` ::
& Nbsp; & nbsp; & nbsp; [3.001 sec] manutention une demande
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3.001 sec] fonction de ralenti
La fonction `` push`` prend un argument de position, qui est le nom de la minuterie étant poussé sur la pile de l'horloge murale. Ce est normalement une étiquette descriptive court pour le genre de travail qui se passe sous le calendrier. `` Push`` prend également une option argument mot-clé, `` enable``, qui contrôle si cet appel à `` push`` devrait commencer calendrier (si ce ne est pas déjà fait). `` Wallclock`` ignore les appels à `` push`` jusqu'à ce qu'il a été permis, et se désactive automatiquement lorsque le permettant `` `` push`` est pop``ped.
La fonction `` de pop`` prend un argument de position, qui est l'étiquette de la pop. Cela permet la simple insertion de `` push`` / `` paires de pop`` environnantes code qui pourrait revenir, ou pourrait soulever une exception, sans ajouter `` try`` / `` blocs except`` supplémentaires ou similaires (mais voir ci-dessous pour une meilleure approche). `` Wallclock`` apparaîtra minuteries hors de la pile jusqu'à ce qu'il trouve une minuterie poussé avec l'étiquette passé, ou jusqu'à ce qu'il se jette la pile de la minuterie
Exigences :.
- Python
Commentaires non trouvées