Почему timeit python использует "лучшее из 3" для измерения прошедшего времени?
Я не вижу обоснования, почему модуль timeit python измеряет время с помощью best of 3
. Вот пример из моей консоли:
~ python -m timeit 'sum(range(10000))'
10000 loops, best of 3: 119 usec per loop
интуитивно я бы собрал все время вместе, а затем разделил его на количество циклов. Какова интуиция подбора лучшего из 3 среди всех циклов? Это кажется немного несправедливым.
1 ответов
Как отметил в документация:
измерения default_timer () могут быть затронуты другими программами, работающими на той же машине, поэтому лучше всего делать, когда необходимо точное время, чтобы повторить время несколько раз и использовать лучшее время. Опция-r хороша для этого; по умолчанию 3 повторения, вероятно, достаточно в большинстве случаев.