| 50 | } |
| 51 | |
| 52 | TDuration CyclesToDurationSafe(ui64 cycles) |
| 53 | { |
| 54 | constexpr ui64 cyclesLimit = std::numeric_limits<ui64>::max() / 1000000; |
| 55 | if (cycles <= cyclesLimit) { |
| 56 | return CyclesToDuration(cycles); |
| 57 | } |
| 58 | return TDuration::MicroSeconds(cycles / GetCyclesPerSecond() * 1000000); |
| 59 | } |
| 60 | |
| 61 | ui64 DurationToCycles(TDuration duration) { |
| 62 | return duration.MicroSeconds() * GetCyclesPerSecond() / 1000000; |
no test coverage detected