Quando eu quero executar para executar experimentos comparáveis I: Bloqueie as freqüências de relógio da CPU ou o regulador, de modo a evitar possíveis diferenças de resposta; Forçar a tarefa para executar em uma CPU específica (se não for multi-threaded); Se houver alguma E / S de disco envolvida ou qualquer outra fonte de armazenamento em cache, libere o cache de memória entre execuções para uma comparação justa.
Para meus experimentos que sempre foram bons o suficiente, mas talvez não para os seus.
Vou editar isso com mais detalhes, se desejar.
Edit: eu esqueci de mencionar e muito importante. Eu só uso a edição do servidor Ubuntu para este tipo de trabalho. Os desktops têm muitas outras coisas sempre em execução. e assim um computador "ocioso" de outra forma realmente não é onde está ocioso. Em um servidor inativo, há apenas o trabalho ocasional do cron, que pode atrapalhar a execução do experimento.
Por exemplo, eu fiz 262 execuções de um programa que leva em média 5,6217 segundos para executar. O desvio padrão do tempo de execução foi 0,0119 segundos e os piores casos foram + 0,68% e -0,56%. Forcei a CPU 7 e o modo de desempenho forçado (mas note que, mesmo no modo de desempenho, os processadores Intel i7 podem diminuir a freqüência de clock sozinhos).
Além disso, se eu desabilitar o governador de freqüência intel_pstate e usar o acpi_cpufreq no modo "powersave", basicamente bloqueando as CPUs no pstate mínimo (frequência mais baixa), então recebo cerca de +/- 0,01% de variações de tempo de execução em um tempo médio de execução de 13,22 segundos.