mlpack 3.4.2
Loading...
Searching...
No Matches
mlpack Timers

Introduction

mlpack provides a simple timer interface for the timing of machine learning methods. The results of any timers used during the program are displayed at output by any command-line binding, when –verbose is given:

$ mlpack_knn -r dataset.csv -n neighbors_out.csv -d distances_out.csv -k 5 -v
<...>
[INFO ] Program timers:
[INFO ] computing_neighbors: 0.010650s
[INFO ] loading_data: 0.002567s
[INFO ] saving_data: 0.001115s
[INFO ] total_time: 0.149816s
[INFO ] tree_building: 0.000534s

Timer API

The mlpack::Timer class provides three simple methods:

void Timer::Start(const char* name);
void Timer::Stop(const char* name);
timeval Timer::Get(const char* name);

Each timer is given a name, and is referenced by that name. You can call Timer::Start() and Timer::Stop() multiple times for a particular timer name, and the result will be the sum of the runs of the timer. Note that Timer::Stop() must be called before Timer::Start() is called again, otherwise a std::runtime_error exception will be thrown.

A "total_time" timer is run by default for each mlpack program.

Timer Example

Below is a very simple example of timer usage in code.

#include <mlpack/core.hpp>
#define BINDING_TYPE BINDING_TYPE_CLI
using namespace mlpack;
void mlpackMain()
{
// Start a timer.
Timer::Start("some_timer");
// Do some things.
DoSomeStuff();
// Stop the timer.
Timer::Stop("some_timer");
}
Include all of the base components required to write mlpack methods, and the main mlpack Doxygen docu...
Linear algebra utility functions, generally performed on matrices or vectors.

If the –verbose flag was given to this executable, the time that "some_timer" ran for would be printed at the end of the program's output.