Если вы хотите согласующиеся результаты, работает один тест в то время, улучшит шансы - потому что разные задачи, скорее всего:
- Переход от одного процессора к другому (таким образом, делая все, что было загружено в кеш, менее значимым).
- Вызывает пропускную способность памяти и давление в кэше, которое создает помехи для другого процесса.
Если вы используете контрольный образец одновременно с воспроизведением MP3-файлов, загрузкой полнофункциональных фильмов с блокбастерами и т. Д., То вы не будете знать, действительно ли это мешает (или насколько мешает ему) ваш процессор интенсивные задачи - вы можете, возможно, сказать наоборот, если музыка начинает становиться изменчивой или время загрузки ...;) Как и при одновременном запуске нескольких задач, кеш и переход от процессора к ядру процессора будут наиболее важные эффекты.
Вы можете обнаружить, что если вы запустите один набор тестов «со всем на» и еще один набор тестов «со всем выключенным», это не имеет значения. Но вы также можете обнаружить, что это действительно имеет значение.
То же самое относится к запуску одного или нескольких эталонных тестов. Попробуйте запустить 6 параллельно и сравните время, которое каждый сам тест выполняет, когда запускается ничем иным.
Вы знаете только это, сравнивая различные случаи.
Если нет никакой разницы, вы можете продолжать играть музыку, загружать последнюю версию блокбастера и т. Д. Во время бенчмаркинга, потому что вы знаете, что разница в 0,01% не важна для общей производительности приложения.
Из опыта я обнаружил, что обычно это не имеет большого значения, если вы запускаете множество других «легких» вещей в фоновом режиме, но это увеличит количество вариаций от одного прогона к другому ,Опять же, если эталонная программа работает в течение получаса, это может и не иметь значения. В конце концов, вы, вероятно, будете иметь достаточно вариаций в этой среде выполнения от одного запуска к другому, просто из общих вещей, которые различаются в CPU и в ОС, чисто «вещи не происходят ТОЧНО одинаково каждый раз», то это не будет иметь достаточных различий.
Если вы делаете небольшие оптимизации, например, переключаете параметры компилятора, которые дают 0,5% -ную разницу в результатах, но разница между прогонами составляет 1%, тогда вам нужно запустить несколько прогонов, чтобы показать фактическую разницу, и тем больше вмешательства других процессов, тем больше шансов, что вы не сможете измерить небольшие изменения. Иногда многие небольшие изменения могут заметно различаться (например, если вы переместите функцию F1, чтобы она была встроена, а затем сделать то же самое с функцией F2, вместе они составляют 1% улучшения, но индивидуально она не поддавалась измерению , потому что он был скрыт в шуме). Чем больше шум, тем больше вероятность того, что вы «пропустите» некоторые небольшие, но в конечном итоге полезные изменения.
Вы запускаете их по одному - ни с чем другим в фоновом режиме. – Mysticial
* Как вы теперь измеряете время? –
Также вы можете посмотреть команду ['time'] (http://linux.die.net/man/1/time). –