--- /dev/null
+
+This is a simple profiler to estimate processing time per module per function. One should call
+
+ profiler.decorate(model[, functionsToDecorate])
+
+before starting the computation. It will replace functions specified in functionsToDecorate by instrumented versions which keep track of computation times. If functionsToDecorate is not provided, it will decorate by default updateOutput and backward.
+
+When the computation is over.
+
+ profiler.print(model[, nbSamples])
+
+will print the measured processing times. If nbSamples is provided, the time per samples will also be printed.
+
+It seems to work okay, but there was no heavy testing so far.
+
+--
+Francois Fleuret
+Dec 5th, 2016