Changes between Version 1 and Version 2 of Documentatie/Ontwikkelaar/Omgeving/Performance


Ignore:
Timestamp:
05/21/12 21:07:30 (14 years ago)
Author:
adriaan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Ontwikkelaar/Omgeving/Performance

    v1 v2  
    9797}}} 
    9898Dus, ruwweg, hebben we hier {{{logica.configuratie.variabelen!['rapportage_export_folder']}}} te pakken -- of beter gezegd, de {{{__dict__}}} van het !VrijObject dat daardoor aangeduid wordt. 
     99 
     100=== Tijdgebruik === 
     101 
     102De standaardmodule [http://docs.python.org/library/timeit.html timeit] kan gebruikt worden om reken-intensieve functies door te voeren en tijden uit te rekenen. Het werkt het beste op echte rekenfuncties in een aparte Python module; de functie kan een of meer parameters nemen die makkelijk in te voeren zijn op de command line. 
     103 
     104Als voorbeeld: 
     105 
     106{{{ 
     107import timeit 
     108print timeit.Timer( 
     109  't1.anonimiseer("hallo","tekst")','import t1') \ 
     110  .repeat(number=10000) 
     111print timeit.Timer( 
     112  't2.anonimiseer("hallo","tekst")','import t2') \ 
     113  .repeat(number=10000) 
     114}}} 
     115 
     116Je maakt een ''Timer'' object met een fragment programmacode die uitgevoerd wordt (zonder enige context, dus je kan geen variabelen hier gebruiken die je al gedefinieerd hebt, en geen reeds geimporteerde modules). Het tweede fragment wordt precies een keer uitgevoerd om een context te maken voor het eerste fragment -- bijvoorbeeld met imports. 
     117 
     118Het eerste fragment wordt ''number'' keer uitgevoerd (hier 10000) en de tijd die dat neemt wordt afgedrukt. Hiermee is makkelijk te zien hoe lang iets duurt of om de looptijd van twee verschillende implementaties te vergelijken.