Скажем, у меня есть медленные и быстрые версии некоторого кода, и я хочу сообщить число ускорений, сравнивая их. Я запускаю медленную версию раз и быструю версию m раз, производя времена ( s 1 , … , s n ) и ( f 1 , … , f m ) . Самый простой способ получить ускорение - это усреднить средние значения: ˉ s Однако это не учитывает выбросы.
Вопрос : Какую статистику лучше всего использовать при сообщении номеров ускорения?
statistics
publications
Джеффри Ирвинг
источник
источник
Ответы:
В дополнение ко всему, что Билл Барт уже сказал выше, позвольте мне упомянуть, что люди часто сообщают о самом быстром из нескольких пробежек. Обоснование состоит в том, что фактическое время выполнения - это идеальное время выполнения плюс любое количество замедлений, вызванных другими процессами, задержками ОС, задержками в сети и т. Д. Поскольку все эти шумы нас не интересуют, использование самого быстрого времени выполнения ближе всего к тому, который мы действительно хотим знать.
источник
yes A is theoretically only ~3x faster
разве не может ожидаться ускорение в 3 раза, не представляющее ускорения при использовании реализации A вместо B? (Кстати, это реальный пример)Я предлагаю вам использовать медиану для статистической оценки. В отличие от среднего, медиана не искажается выбросами.
источник
Если стандартное отклонение не пренебрежимо мало, вы можете использовать два боксовых графика бок о бок, построенных каждый со временем одного из алгоритмов. Они, безусловно, не являются стандартными в численном анализе, но они отлично справляются с отображением такого рода информации.
источник