blob: fc8e9df135773b6c1154a811b09b4e6afc6f46e7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "timing_stats.h"
#include <iostream>
#include "time.h" //cygwin needs
using namespace std;
map<string, TimerInfo> Timer::stats;
Timer::Timer(const string& timername) : start_t(clock()), cur(stats[timername]) {}
Timer::~Timer() {
++cur.calls;
const clock_t end_t = clock();
const double elapsed = (end_t - start_t) / 1000000.0;
cur.total_time += elapsed;
}
void Timer::Summarize() {
for (map<string, TimerInfo>::iterator it = stats.begin(); it != stats.end(); ++it) {
cerr << it->first << ": " << it->second.total_time << " secs (" << it->second.calls << " calls)\n";
}
stats.clear();
}
|