Wallclock er en simpel stak-baseret ydeevne logger skrevet i Python.
Wallclock giver nogle enkle værktøjer til at identificere langsomme dele af din kode. Den opretholder en stak kører timere, og rapporterer træ udførelse tidspunkter, hvor stakken tømmes ud.
Enkel Anvendelse
Til tidskode med wallclock bruge `` push`` og `` pop`` funktionerne i wallclock modulet ::
& Nbsp; & nbsp; & nbsp; import wallclock
& 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 (»håndtering én anmodning«, aktivere = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slow_function ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop (»håndtering én anmodning)
& Nbsp; & nbsp; & nbsp; main ()
Dette vil producere en lille træ på `` stderr`` opsummerer den tid, det tager at udføre `` main () `` ::
& Nbsp; & nbsp; & nbsp; [3,001 sek] håndtering én anmodning
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3,001 sek] langsom funktion
Den `` push`` funktion tager en positionelle argument, der er mærket af timeren blive skubbet over på wallclock stak. Dette er normalt en kort, beskrivende etiket for det arbejde, der sker under timing. `` Push`` tager også en valgfri søgeord argument, `` enable``, som kontrollerer, om denne indkaldelse til `` push`` bør starte timing (hvis det ikke allerede er startet). `` Wallclock`` ignorerer opkald til `` push`` før det er blevet aktiveret, og deaktiverer sig selv automatisk, når der gør det muligt `` push`` er `` pop``ped.
Den `` pop`` funktion tager en positionelle argument, som er mærket til pop. Dette giver mulighed for simpel indsættelse af `` push`` / `` pop`` par omkringliggende kode, der kan vende tilbage, eller kan hæve en undtagelse, uden at tilføje ekstra `` try`` / `` except`` blokke eller lignende (men se nedenfor for en bedre tilgang). `` Wallclock`` vil poppe timere off af stakken, indtil den finder en timer skubbet med bestået etiket, eller indtil den tømmes timeren stak
Krav :.
- Python
Kommentarer ikke fundet