Измерение наихудшего времени для быстрых структур данных - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь выяснить, как измерить операцию «обновления» в худшем случае для двух структур данных в C ++.

Обе они имеют одинаковую амортизированную (постоянную) сложность (и, приблизительно, среднюю)время работы), но одна работает в постоянном наихудшем случае, а другая логарифмическая (по числу предыдущих обновлений).

Обе реализации в среднем выполняют около 15 миллионов операций обновления в секунду, что делает одно обновление быстрее, чемВ среднем 0,1 мс.

Я пытался использовать chrono::steady_clock для определения времени одного обновления, но оно недостаточно детализировано.Есть ли альтернативы, которые могут дать гранулированность менее миллисекунды?

В идеале, я хотел бы нарисовать цифру максимального измеренного времени обновления как функцию от количества обновлений и показать, что время моего алгоритма остается ограниченным.

...