Remix.run Logo
piinbinary 12 hours ago

How does the benchmark tell how many branches were mispredicted? Is that something the processor exposes?

ErikCorry 7 hours ago | parent [-]

Yeah performance counters

cloudbonsai 33 minutes ago | parent [-]

To fill in the details, here is the code used for the measurement:

https://github.com/lemire/counters/blob/main/include/counter...

It fetches the number of mispredicted instructions from Linux's perf subsystem, which in turn gathers the metrics from CPU's PMU (Performance Monitoring Unit) interface.