3 ms·
Its interesting to note it will make benchmarking harder. Any benchmark could be 10% faster or slower based on which core your code is running on. On linux you
by josephg 4y ago
Its interesting to note it will make benchmarking harder. Any benchmark could be 10% faster or slower based on which core your code is running on.
On linux you can use 'taskset 0x1 ./bench' to force a process onto a specific mask of cores. Sounds like this sort of thing will be increasingly necessary if you want to compare code variants on these CPUs with precision.
- Moto7451 4y agoGood benchmarks are often concerned with core to core latency due to the physical topology of the cores. I imagine we’ll see some expansion into which core complex is in use for a given test and comparing both of them.
- zamadatix 4y agoIf the change causes the scheduler to put it on the cache heavy cores but it turns out the program runs better on the clock heavy cores then this will cause your benchmark to report things are better than ever when the change really did make it perform worse. If pinning really is the best way to get the application to perform well and you want to implement that then the application or environment should be doing the pinning so the benchmark runner can report what's actually happening not what could happen. Regardless though if you want reliable numbers, even on a CPU with uniform cores, you should be doing multiple runs and comparing average and variance. This will always tell the actual story regardless how the platform underneath behaves that day.
- shaklee3 4y agotaskset -c to be pedantic