Wallclock είναι ένα απλό στοίβα με βάση τις επιδόσεις καταγραφικό γραμμένο σε Python.
Wallclock παρέχει μερικά απλά εργαλεία για τον εντοπισμό αργή τμήματα του κώδικα σας. Διατηρεί μια στοίβα από τους χρονοδιακόπτες σε λειτουργία, και αναφέρει το δέντρο των χρόνων εκτέλεσης, όταν η στοίβα αδειάζει έξω.
Απλή Χρήση
Για τον κωδικό χρόνο με wallclock, χρησιμοποιήστε την `` push`` και `` pop`` λειτουργίες που παρέχονται από τη μονάδα wallclock ::
& Nbsp? & Nbsp? & Nbsp? wallclock εισαγωγής
& Nbsp? & Nbsp? & Nbsp? def slow_function ():
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? wallclock.push («αργή λειτουργία»)
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? χρόνος εισαγωγής
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? time.sleep (3)
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? wallclock.pop («αργή λειτουργία»)
& Nbsp? & Nbsp? & Nbsp? def main ():
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? wallclock.push («το χειρισμό ένα αίτημα», enable = true)
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? slow_function ()
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? wallclock.pop («χειρισμός μία αίτηση»)
& Nbsp? & Nbsp? & Nbsp? main ()
Αυτό θα παράγει ένα μικρό δέντρο στο `` stderr`` συνοψίζει το χρόνο που απαιτείται για την εκτέλεση `` main () `` ::
& Nbsp? & Nbsp? & Nbsp? [3.001 sec] που χειρίζονται ένα αίτημα
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? [3.001 sec] αργή λειτουργία
Το `` push`` λειτουργία παίρνει μια παράμετρο θέσης, η οποία είναι η ετικέτα του χρονοδιακόπτη ωθούνται σε στοίβα wallclock του. Αυτό είναι συνήθως μια μικρή, περιγραφική ετικέτα για το είδος της εργασίας που συμβαίνει κάτω από το χρονοδιάγραμμα. `` Push`` λαμβάνει επίσης ένα προαιρετικό επιχείρημα λέξη, `` enable``, η οποία ελέγχει κατά πόσο αυτή η κλήση για να `` push`` θα πρέπει να ξεκινήσει η χρονομέτρηση (αν δεν έχει ήδη ξεκινήσει). `` Wallclock`` αγνοεί κλήσεις σε `` push`` μέχρι να έχει ενεργοποιηθεί, και η ίδια απενεργοποιεί αυτόματα όταν το επιτρέπουν `` push`` είναι `` pop``ped.
Το `` λειτουργία pop`` παίρνει μια παράμετρο θέσης, η οποία είναι η ετικέτα για να σκάσει. Αυτό επιτρέπει την απλή εισαγωγή του `` push`` / `` ζεύγη pop`` γύρω κώδικα που μπορεί να επιστρέψει, ή θα μπορούσε να αυξήσει μια εξαίρεση, χωρίς την προσθήκη επιπλέον `` try`` / `` except`` μάζες ή παρόμοιες (αλλά δείτε κάτω για μια καλύτερη προσέγγιση). `` Wallclock`` θα εμφανιστεί χρονόμετρα από την στοίβα μέχρι να βρει ένα χρονόμετρο έσπρωξε με τον περάσει ετικέτα, ή μέχρι να αδειάζει τη στοίβα χρονόμετρο
Απαιτήσεις :.
- Python
Τα σχόλια δεν βρέθηκε