Väggklocka är en enkel stack baserad prestanda logger skrivet i Python.
Väggklocka ger några enkla verktyg för att identifiera långsamma delar av din kod. Det upprätthåller en hög med kör timers, och rapporterar träd exekveringstider när stacken tömmer ut.
Enkel användning
Till tidskod med Väggklocka, använd `` push`` och `` pop`` funktioner som tillhandahålls av Väggklocka modulen ::
& Nbsp; & nbsp; & nbsp; importVäggKlocka
& Nbsp; & nbsp; & nbsp; def slow_function ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ("slow-funktion")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; import tid
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; time.sleep (3)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ("slow-funktion")
& Nbsp; & nbsp; & nbsp; def main ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ("hantering en förfrågan", aktivera = sant)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slow_function ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ("hantering en förfrågan ')
& Nbsp; & nbsp; & nbsp; main ()
Detta kommer att ge ett litet träd på `` stderr`` sammanfattar den tid det tar att exekvera `` main () `` ::
& Nbsp; & nbsp; & nbsp; [3,001 sek] hantering en förfrågan
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3,001 sek] långsam funktion
Den `` push`` funktionen tar en positions argument, som är etiketten på timern som skjutas på Väggklocka stack. Detta är normalt en kort, beskrivande etikett för den typ av arbete som sker inom ramen för timing. `` Push`` tar också en valfri sökord argumentet, `` enable``, som styr huruvida detta samtal till `` push`` bör börja timing (om det inte redan är igång). `` Wallclock`` ignorerar samtal till `` push`` förrän den har aktiverats, och inaktiverar automatiskt när bemyndigande `` push`` är `` pop``ped.
Den `` pop`` funktionen tar en positions argument, vilket är etiketten till pop. Detta möjliggör enkel insättning av `` push`` / `` pop`` par omgivande kod som skulle kunna återvända, eller kanske höja ett undantag, utan att lägga till extra `` try`` / `` except`` block eller liknande (men se nedan för en bättre metod). `` Wallclock`` dyker timers bort av stapeln tills den hittar en timer skjuts med passerade etiketten, eller tills den tömmer timer stacken
Krav :.
- Python
Kommentarer hittades inte