in src/hit/common.cpp [16:32]
string elapsed_time_to_str(timepoint start, timepoint end, TimeScale ts) {
auto elapsed_ms = static_cast<double>(elapsed_time_in_ms(start, end));
stringstream buffer;
double ms_per_sec = 1000;
double ms_per_min = 60 * ms_per_sec;
double ms_per_hour = 60 * ms_per_min;
if (ts == TS_MS || (ts == TS_DYNAMIC && elapsed_ms < ms_per_sec)) {
buffer << setprecision(8) << elapsed_ms << " ms";
} else if (ts == TS_SEC || (ts == TS_DYNAMIC && elapsed_ms < ms_per_min)) {
buffer << setprecision(3) << elapsed_ms / ms_per_sec << " seconds";
} else if (ts == TS_MIN || (ts == TS_DYNAMIC && elapsed_ms < ms_per_hour)) {
buffer << setprecision(3) << elapsed_ms / ms_per_min << " minutes";
} else {
buffer << setprecision(3) << elapsed_ms / ms_per_hour << " hours";
}
return buffer.str();
}