This is a simple profiler to estimate processing time per module per function.
+It seems to work okay, but there was no heavy testing so far. See test-profiler.lua for a short example.
+
### profiler.decorate(model, [functionsToDecorate]) ###
This function should be called before starting the computation.
-t replaces functions specified in functionsToDecorate by instrumented versions which keep track of computation times. If functionsToDecorate is not provided, it decorates by default updateOutput and backward.
-
-### profiler.print(model, [nbSamples]) ###
+It replaces functions specified in functionsToDecorate by instrumented versions which keep track of computation times. If functionsToDecorate is not provided, it decorates by default updateOutput and backward.
-Prints the measured processing times. If nbSamples is provided, the time per samples will also be printed.
+It also resets the accumulated timings to zero.
-It seems to work okay, but there was no heavy testing so far.
+### profiler.print(model, [nbSamples], [totalTime]) ###
---
-Francois Fleuret
-Dec 5th, 2016
+Prints the measured processing times. If nbSamples is provided, the time per samples will also be printed. If totalTime is provided, the percentages will also be printed.