Subject: [boost] [chrono][stopwatches] Request for interest in NEW stopwatch/timer reporting facilities
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2011-09-13 18:11:45
I has been reconsidering the reporting facilities of proposed
Boost.Stopwatches. I have started to make some examples that make use
Boost.Format to make the reports.
prints the duration
You can make a boost::format and pass it to the stopclock.
void f1(long j)
boost::format fmt("%1%[%2%] f1(%3%) - Elapsed time: %4%");
fmt % __FILE__ % __LINE__ % j;
stopclock< > sw(fmt);
// burn some time
../example/scoped_stopwatch_example.cpp f1(1000000) - Elapsed time:
../example/scoped_stopwatch_example.cpp void f2(long int) - Elapsed
time: 0.979 µs
You can change the precision, the output stream, the units and the unit
text using a specific formatter. For example
typedef elapsed_formatter<milli > formatter;
formatter fmt("Elapsed time: %1%", std::cerr);
stopclock<high_resolution_clock, formatter> sw(fmt);
Elapsed time: 87.829801 milliseconds
This formatter could be shared between several stopclocks (thread unsafe
Even if the reporting facilities will not be completly 'localizable', I
think that this interface goes one step towards in this direction.
Before continuing the adaptation of the whole library I would like to
hear some comments from you. Do you think this is an acceptable interface?
What are the parameters that do you want to manage? procession, unit,
short/long units, ...
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk