Module tch.profiling
A simple profiling module.
Every time start()
is called it will record a timestamp on a stack.
Every time stop()
is called it will calculate the elapsed time with
the timestamp currently on the top of the stack. This info is used
to build a call tree with timings. Note that this means you have
to use the functions in a balanced way.
This is an internal development module and normally not installed on target.
Usage:
local profiling = require("tch.profiling") local function some_time_consuming_function() profiling.start("some_time_consuming_function") calculations here profiling.stop("some_time_consuming_function") end local function foo() profiling.start("foo") some_time_consuming_function() some_other_time_consuming_function() profiling.stop("foo") profiling.dump("/tmp/profile.log") end
Functions
dump(filename, append) | Write the collected profiling data to the given file. |
start(name) | Record a starting timestamp with the given name. |
stop(name) | Take a new timestamp, calculate the elapsed time since the timestamp at the top of the stack and record it with the given name. |
Functions
- dump(filename, append)
-
Write the collected profiling data to the given file.
Parameters:
- filename string The full path to the file to write the data to.
- append bool Whether to append to the given filename or overwrite it.
See also:
- start(name)
-
Record a starting timestamp with the given name.
You can nest calls to this function. The recorded timestamps
are organized in a stack.
Parameters:
- name string A description for the timestamp.
See also:
- stop(name)
-
Take a new timestamp, calculate the elapsed time since the
timestamp at the top of the stack and record it with the given name.
Parameters:
- name
string
A description for the elapsed time. It doesn't have to
be the same name as in the
start()
call but it might help help to interpret the results.
See also:
- name
string
A description for the elapsed time. It doesn't have to
be the same name as in the