A simple multi-platform CPU user-mode chronometer
Branch | Linux & OSX | Windows |
---|---|---|
master | ||
dev |
To build a static and dynamic library of CPUTime on Windows, Linux or Mac OSX,
-
Download premake 5 and make it available in your path
-
Run the following from the command line
git clone https://github.com/k0dai/cputime.git
cd cputime/build
premake5 gmake
make
or alternatively, on Windows for example :
premake5.exe vs2017
msbuild CPUTime.sln
If msbuild.exe is not available in your path, just launch Visual Studio by double clicking on CPUTime.sln and build the library inside the IDE.
#include "cputime_api.h"
cputime_chronometer chrono;
cputime_chronometer_start(&chrono);
// Do something
double lap = cputime_chronometer_lap(&chrono);
// Do something else
double elapsed = cputime_chronometer_stop(&chrono);
// At any time, if needed, it's possible to get a timeval structure containing the total elapsed usermode time
struct timeval current_total_usertime = cputime_get_current_total_usertime();