| 42 | using Trial = pair<string, TrialFunc>; |
| 43 | |
| 44 | template <typename Func> double time_trial(const string &name, Func func) { |
| 45 | auto start = Clock::now(); |
| 46 | func(); |
| 47 | auto elapsed = |
| 48 | chrono::duration_cast<chrono::milliseconds>(Clock::now() - start).count(); |
| 49 | cout << name << "," << elapsed << "\n"; |
| 50 | return static_cast<double>(elapsed); |
| 51 | } |
| 52 | |
| 53 | void read_forward_backward(ReaderBase &reader) { |
| 54 | int64_t len = reader.info.video_length; |