MPQC  3.0.0-alpha

Profile module is a set of macros to measure time spent in a particular scope on the fly. To use it, first compile the code with MPQC_PROFILE_ENABLE defined. Register the thread before you start profiling by putting somewhere in the beginning

MPQC_PROFILE_REGISTER_THREAD;

Insert MPQC_PROFILE_LINE in the scope of the code you want profiled, eg

{
MPQC_PROFILE_LINE;
do_lots_of_work_function();
}

Dump (and reset/clear) profiling data with MPQC_PROFILE_DUMP(cout), eg:

MPQC_PROFILE_DUMP(std::cout);

The output will be grouped by thread id and will contain file:line keys followed by total time spent in the scope and the number of time the scope was entered.

Warning
Dump/reset/clear profiler only after the events have finished, otherwise there will be difficult to track segfaults. Better yet, one needs to fix profiler to generate error in those cases.

Generated at Sun Jan 26 2020 23:24:02 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.