timer
Easy-to-use timer for tracking runtimes.
pip install sometimer
Examples
Main functionality: summary function
from sometimer import timer
timer.new_checkpoint()
do_stuff()
timer.new_checkpoint(name='useful-name')
do_other_stuff()
...
summary = timer.summary()
print(summary)
timer summary
-duration- -start-
start 0.00s
checkpoint_0: 2.36s 0.10s
useful-name: 0.41s 2.46s
victory lap : 12.01s 2.87s
end 14.87s
timer.__call__()
returns a one-liner
timer()
>>> 'timer: 0.202s'
timer()
>>> 'timer: 0.303s checkpoint_0: 0.050s'
@time_this_method
decorator to avoid clutter
Some functions are always heavy (e.g. load, data preprocessing, data augmentation)
and might be useful to time:
from sometimer import time_this_method
@time_this_method
def heavy_preprocessing(data):
pass
@time_this_method(name='more-descriptive-name')
def inefficient_method(data):
pass
when run, yields:
heavy_preprocessing(data)
inefficient_method(data)
timer.summary()
>>> 'timer summary
-duration- -start-
start: 0.00s 0.00s
heavy_preprocessing: 0.00s 25.10s
more-descriptive-name: 25.10s 13.01s
end: 38.10s'