| 45 | }; |
| 46 | |
| 47 | auto compute_perf(std::chrono::steady_clock::time_point start, |
| 48 | std::chrono::steady_clock::time_point end, |
| 49 | std::size_t total_scheds) -> statistics |
| 50 | { |
| 51 | auto dur = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start); |
| 52 | auto dur_ms = std::chrono::duration_cast<std::chrono::milliseconds>(dur); |
| 53 | auto dur_dbl = std::chrono::duration_cast<std::chrono::duration<double>>(dur); |
| 54 | double ops_per_sec = static_cast<double>(total_scheds) / dur_dbl.count(); |
| 55 | return {.total_time_ms = dur_ms, .ops_per_sec = ops_per_sec}; |
| 56 | } |
| 57 | |
| 58 | struct statistics_all |
| 59 | { |