8 this->
active_timers[timer_name].t1 = std::chrono::high_resolution_clock::now();
15 std::cerr <<
"tried to add time to a counter which didn't exist!" << std::endl;
19 this->
active_timers[timer_name].elapsed_time += std::chrono::duration_cast<std::chrono::milliseconds>(
20 std::chrono::high_resolution_clock::now() - this->
active_timers[timer_name].t1);
26 void timer::add_time(
const std::string timer_name,
const int num_incrementations){
29 std::cerr <<
"tried to add time to a counter which didn't exist!" << std::endl;
33 this->
active_timers[timer_name].elapsed_time += std::chrono::duration_cast<std::chrono::milliseconds>(
34 std::chrono::high_resolution_clock::now() - this->
active_timers[timer_name].t1);
35 this->
active_timers[timer_name].num_calls_timed += num_incrementations;
59 boost::filesystem::path file_to_write_to = folder_to_write_to;
63 std::stringstream converter;
67 file_to_write_to /=
"master";
70 file_to_write_to /=
"slave";
72 file_to_write_to +=
"timing";
78 file_to_write_to += converter.str();
81 std::ofstream fout(file_to_write_to.c_str());
82 if (!fout.is_open()) {
83 std::cerr <<
"failed to open " << file_to_write_to.string() <<
" to write timing data" << std::endl;
89 std::map< std::string, timer_data >::iterator iter;
90 fout << myid << std::endl;
95 fout << iter->first <<
": " << iter->second.elapsed_time.count() <<
" " << iter->second.num_calls_timed << std::endl;
std::map< std::string, timer_data > active_timers
bool create_timer(const std::string timer_name)
void add_time(const std::string timer_name)
Small class, with no methods, for holding timing data.
bool write_timing_data(const boost::filesystem::path folder_to_write_to, const int myid)
void press_start(const std::string timer_name)