mcrl2::utilities::execution_timer =============================================================================== Include file: .. code-block:: c++ #include "mcrl2/utilities/execution_timer.h .. cpp:class:: mcrl2::utilities::execution_timer Simple timer to time the CPU time used by a piece of code. Example usage: execution_timer timer("test_tool", "/path/to/file") timer.start("hint") ... (execute some code here) ... timer.finish("hint") timer.report()This will output the following to the file "/path/to/file", or standard error if filename is empty, assuming that the time between start and finish is n seconds (with precision of 2 decimal places).tool: test_tool timing: hint: nNote that this is an output format that can immediately be parsed using YAML (http://www.yaml.org/) Protected attributes ------------------------------------------------------------------------------- .. cpp:member:: std::string mcrl2::utilities::execution_timer::m_filename name of the file to write timings to .. cpp:member:: std::map< std::string, timing > mcrl2::utilities::execution_timer::m_timings collection of timings .. cpp:member:: std::string mcrl2::utilities::execution_timer::m_tool_name name of the tool we are timing Protected member functions ------------------------------------------------------------------------------- .. cpp:function:: void write_report(std::ostream &s) Write the report to an output stream. **Parameters:** * **s** The output stream to which the report is written. Public member functions ------------------------------------------------------------------------------- .. cpp:function:: execution_timer(const std::string &tool_name="", std::string const &filename="") Constructor of a simple execution timer. **Parameters:** * **tool_name** Name of the tool that does the measurements * **filename** Name of the file to which the measurements are written .. cpp:function:: void finish(const std::string &timing_name) Finish a measurement with a hint. **Parameters:** * **timing_name** Name of the measurment being finished **Pre:** A start(timing_name) was executed before **Post:** The current time has been recorded as end time of timing_name .. cpp:function:: void report() Write all timing information that has been recorded. Timing information is written to the filename that was provided in the constructor. If no filename was provided (i.e. the filename is empty) the information is written to standard error. The output is in YAML compatible format. .. cpp:function:: void start(const std::string &timing_name) Start measurement with a hint. **Parameters:** * **timing_name** Name of the measurement being started **Pre:** No start(timing_name) has occurred before **Post:** The current time has been recorded as starting time of timing_name .. cpp:function:: ~execution_timer() Destructor.