Some modern CPUs have non heterogenous core configurations, meaning that some cores are faster than others.
On x86 Intel is currently doing it, AMD does it in limited capacity on laptops while on Arm64 most CPUs have it AFAIR.
This can result in wildly different timings between benchmark runs or even timing changes in the middle due to the OS moving the code to a different core.
BDN should probably default to affinitizing the benchmark process to only "performance" cores, witha way to somehow opt out/force "efficiency" ones.
On X86 the core types can be discovered with cpuid and information from CPU vendor manuals, no idea how to do it on arm64.
Some modern CPUs have non heterogenous core configurations, meaning that some cores are faster than others.
On x86 Intel is currently doing it, AMD does it in limited capacity on laptops while on Arm64 most CPUs have it AFAIR.
This can result in wildly different timings between benchmark runs or even timing changes in the middle due to the OS moving the code to a different core.
BDN should probably default to affinitizing the benchmark process to only "performance" cores, witha way to somehow opt out/force "efficiency" ones.
On X86 the core types can be discovered with
cpuidand information from CPU vendor manuals, no idea how to do it on arm64.