uarch-bench
uarch-bench copied to clipboard
Check if the clock is stable and try to wait until it is if not
Ideally the user runs uarch-bench with all frequency scaling behaviors disabled, but this is not always possible. In the case that scaling is occurring, we still want to provide a reasonable experience.
Especially on older CPUs (or even on newer CPUs still using software-driven p-state control) scaling might be a fairly slow process (i.e., 10s or 100s of milliseconds), and the CPU may transition through several p-states (frequencies) over a long(ish) period of time until it reaches max frequency. This affects all the benchmarks that run during this period. See for example these Sandy Bridge results which clearly show the frequency ramp during almost the entire test, greatly throwing off the results.