Я пытаюсь выяснить, как измерить операцию «обновления» в худшем случае для двух структур данных в C ++.
Обе они имеют одинаковую амортизированную (постоянную) сложность (и, приблизительно, среднюю)время работы), но одна работает в постоянном наихудшем случае, а другая логарифмическая (по числу предыдущих обновлений).
Обе реализации в среднем выполняют около 15 миллионов операций обновления в секунду, что делает одно обновление быстрее, чемВ среднем 0,1 мс.
Я пытался использовать chrono::steady_clock
для определения времени одного обновления, но оно недостаточно детализировано.Есть ли альтернативы, которые могут дать гранулированность менее миллисекунды?
В идеале, я хотел бы нарисовать цифру максимального измеренного времени обновления как функцию от количества обновлений и показать, что время моего алгоритма остается ограниченным.