You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.0 KiB
45 lines
1.0 KiB
// constructor cl_timing(std::ostream&).
|
|
|
|
// General includes.
|
|
#include "cl_sysdep.h"
|
|
|
|
// Specification.
|
|
#include "cln/timing.h"
|
|
|
|
|
|
// Implementation.
|
|
|
|
namespace cln {
|
|
|
|
static void report_stream (const cl_timing& t)
|
|
{
|
|
var const cl_time_consumption usage_end = cl_current_time_consumption();
|
|
var const cl_time_consumption& usage_start = t.tmp;
|
|
var cl_time_consumption usage;
|
|
usage.realtime = usage_end.realtime - usage_start.realtime;
|
|
usage.usertime = usage_end.usertime - usage_start.usertime;
|
|
|
|
var std::ostream& destination = *(std::ostream*) t.report_destination;
|
|
if (t.comment)
|
|
fprint(destination,t.comment);
|
|
cl_timing_report(destination,usage);
|
|
fprint(destination,"\n");
|
|
}
|
|
|
|
cl_timing::cl_timing (std::ostream& destination)
|
|
{
|
|
report_fn = report_stream;
|
|
report_destination = &destination;
|
|
comment = NULL;
|
|
tmp = cl_current_time_consumption();
|
|
}
|
|
|
|
cl_timing::cl_timing (const char * msg, std::ostream& destination)
|
|
{
|
|
report_fn = report_stream;
|
|
report_destination = &destination;
|
|
comment = msg;
|
|
tmp = cl_current_time_consumption();
|
|
}
|
|
|
|
} // namespace cln
|