Hi.

Disabling ASLR means you get more repeatable benchmarks, of course,
but also means that on another identical machine (or a bit different
circumstances), you can get different results, hence you moved
statistical error to a more systematic one. I don't think that's a win

On Fri, Feb 12, 2016 at 8:42 AM, Patrascu, Alecsandru
<alecsandru.patra...@intel.com> wrote:
> Hi,
>
> Some of the things we do here at Intel, in our Languages Performance Lab 
> [1,2], is to disable ASLR as you get more reliable results. This can be 
> achieved on Linux by running echo 0 > /proc/sys/kernel/randomize_va_space. 
> Also, setting the CPU frequency at a fixed frequency, disabling Turbo Boost 
> and Hyper Threading, also helps for benchmark stability.
>
> From my experience, the isolcpus feature is useful when you have a lot of 
> cores on your machine because the kernel will have other cores on which it 
> can schedule its work; furthermore, it is a best effort situation and it is 
> not an absolute guarantee that the kernel will not use the cores specified if 
> you have a lot of processes running (for example, if you benchmark on a 
> machine with 2 physical cores and you isolate one of the cores, there is a 
> big chance that the kernel will schedule processes on this core also, even it 
> is for a small amount of time). Nevertheless, for machines with more physical 
> cores, it can be good to have dedicated core(s) on which we do benchmarking.
>
> [1] http://languagesperformance.intel.com/
> [2] https://lists.01.org/pipermail/langperf/
>
> Thank you,
> Alecsandru
>
>> -----Original Message-----
>> From: Speed [mailto:speed-
>> bounces+alecsandru.patrascu=intel....@python.org] On Behalf Of Victor
>> Stinner
>> Sent: Friday, February 12, 2016 12:54 AM
>> To: speed@python.org
>> Subject: [Speed] Linux tip: use isolcpus to have (more) reliable benchmark
>>
>> Hi,
>>
>> I'm sharing with you my notes (tricks) to get more reliable benchmarks on
>> Linux if your CPU have multiple cores:
>>
>> https://haypo-notes.readthedocs.org/microbenchmark.html#reliable-micro-
>> benchmarks
>>
>> FYI perf.py recently got a new --affinity= optional parameter. I plan to
>> send a patch to automatically use /sys/devices/system/cpu/isolated if it's
>> not empty.
>>
>> What are your "tricks" to get reliable benchmarks?
>>
>> Victor
>> _______________________________________________
>> Speed mailing list
>> Speed@python.org
>> https://mail.python.org/mailman/listinfo/speed
> _______________________________________________
> Speed mailing list
> Speed@python.org
> https://mail.python.org/mailman/listinfo/speed
_______________________________________________
Speed mailing list
Speed@python.org
https://mail.python.org/mailman/listinfo/speed

Reply via email to