A very simple python module for measuring time.
pip install lauda
You can use lauda StopWatch
to measure the time spent in a portion of code
from lauda import StopWatch
watch = StopWatch()
watch.start()
for i in range(10000000):
pass
watch.stop()
print ('Time spent in range {0}'.format(watch.elapsed_time))
You can also get the elapsed_time
when the stopwatch is running
You can call checkpoint function if you want to set a checkpoint and get the time spent between the last checkpoint:
from lauda import StopWatch
watch = StopWatch()
watch.start()
for i in range(10000000):
pass
check_time = watch.checkpoint()
print ('Time spent in first range: {0} sec.'.format(check_time))
for i in range(10000000):
pass
check_time = watch.checkpoint()
print ('Time spent in second range: {0} sec.'.format(check_time))
If you want to measure an entire function execution, you can decorate it using the stopwatch
decorator
from lauda import stopwatch
@stopwatch
def awesome_mul(a, b):
return a * b
By default stopwatch
decorator will print the time spent inside the decorated function, if you want more control you can pass to your decorator a callback that will receive a StopWatch
instance and the decorated function.
from lauda import stopwatch
def stopwatch_sum_cb(watch, function):
print ('Time spent {0}'.format(watch.elapsed_time))
@stopwatch(callback=stopwatch_sum_cb)
def awesome_sum(a, b):
return a + b
If you want to measure a block of code, you can use the stopwatchcm
context manager
from lauda import stopwatchcm
with stopwatchcm():
c = a * b
By default stopwatchcm
context manager will print the time spent inside the context manager body, if you want more control you can pass to your context manager a callback that will receive a StopWatch
instance.
from lauda import stopwatchcm
def stopwatch_sum_cb(watch):
print ('Time spent {0}'.format(watch.elapsed_time))
with stopwatchcm(callback=stopwatch_sum_cb):
c = a + b