Skip to main content

TIM: Timed Iteration Monitor

Project description

Tim: Timed iteration monitor
============================

A common pattern I have when writing code to import or treat large chunk of data is to do some printing to track the progress and some timing to monitor the speed.
So I often end up with some variation of this in my code:

from datetime import datetime
start = datetime.now()
n = 0
for i in my_iter:
n+=1
print "\r", i,
# do stuff
print start - datetime.now()
print (start - datetime.now()) / n / 100


which is a lot to remember and type which in turn make it easy to introduce bugs in some edge case which you need then to debug.

So I wrote tim to help me do just that, so I have this pattern ready for use and working and can spend my time coding my data treatment instead of debbugging my helper code.

*WARNING* : This is alpha level stuff, I'm still working out the proper way to do stuff so the API may still change a bit.

How to use tim
--------------

Common usage pattern would probably be:

import tim

tim.start()
for i in my_iter:
tim.pulse_print() # print current progress
# do stuff
tim.stop() # print overall stats and reset counter


If you just need to monitor start and stop you can use:

tim.start()
# calculation
tim.stop() # print elapsed time and reset

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tim, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size tim-0.1.tar.gz (2.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page