Wallclock is 'n eenvoudige stapel-gebaseerde prestasie logger geskryf in Python.
Wallclock bied 'n paar eenvoudige gereedskap vir die identifisering van stadige dele van jou kode. Dit hou 'n stapel van die bestuur van timers en verslae van die boom van die uitvoering tye wanneer die stapel leeg uit.
Eenvoudige Gebruik
Tot tyd kode met wallclock, gebruik die `` push`` en `` pop`` funksies wat deur die wallclock module ::
& Nbsp; & nbsp; & nbsp; invoer wallclock
& Nbsp; & nbsp; & nbsp; def slow_function ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ('stadig funksie')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; invoer tyd
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; time.sleep (3)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ('stadig funksie')
& Nbsp; & nbsp; & nbsp; def main ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push (se hantering een versoek ', in staat stel om = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slow_function ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop (se hantering een versoek ')
& Nbsp; & nbsp; & nbsp; main ()
Dit sal 'n klein boom op `` stderr`` opsomming van die tyd wat dit neem om uit te voer `` main () `` ::
& Nbsp; & nbsp; & nbsp; [3,001 sek] hantering een versoek
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3,001 sek] stadige funksie
Die `` push`` funksie neem een posisionele argument, wat is die etiket van die timer gestoot op wallclock se stapel. Dit is gewoonlik 'n kort, beskrywende naam vir die soort werk wat onder tydsberekening gebeur. `` Push`` neem ook een opsionele navraag argument, `` enable``, wat beheer of hierdie oproep tot `` push`` tydsberekening moet begin (as dit nie reeds begin). `` Wallclock`` ignoreer oproepe na `` push`` totdat dit is geaktiveer, en versper homself outomaties wanneer die instaatstellende `` push`` is `` pop``ped.
Die `` pop`` funksie neem een posisionele argument, wat is die etiket te pop. Dit maak voorsiening vir eenvoudige inplanting van `` push`` / `` pop`` pare omliggende kode wat kan terugkeer, of dalk 'n uitsondering maak, sonder toevoeging van ekstra `` try`` / `` except`` blokke of soortgelyke (maar sien hieronder vir 'n beter benadering). `` Wallclock`` sal pop timers van die stapel totdat dit 'n timer gestoot met die geslaag etiket, of totdat dit leeg die timer stapel
Vereistes :.
- Python
Kommentaar nie gevind