3 ms·
Just out of curiosity, why did the software not always use the 'fast path'?
by koyote 4y ago
Just out of curiosity, why did the software not always use the 'fast path'?
- Infinity315 4y agoProbably more than likely it's not generalizable to real world conditions. Benchmarks are meant to be reproducible, meaning perfectly predictable. CPUs have things called branch predictors which try to predict what the software is going to do and try to do the calculation ahead of time resulting in (hopefully, if it predicted right) faster execution time. If you know which 'branches' a benchmark goes down, you can make a program which can coax the branch predictor to always make the right guesses for a given benchmark. A program branches whenever you encounter some sort of conditional if-else statement.
- rot13xor 4y agoSome optimizations might only apply to certain inputs that are used by benchmarking software. Or the driver makes unfavorable power tradeoffs to maximize performance when a benchmark is running. For example, if the driver knows a benchmark is single threaded, it can artificially throttle other cores and boost the core the benchmark is running on. There's more extreme stuff like GPU drivers replacing shaders (benchmarks don't care about graphics quality) or pre-rendering frames. https://videocardz.com/74912/professional-overclocker-demonstrates-how-to-cheat-in-3dmark-timespy https://videocardz.com/74912/professional-overclocker-demons...
- pixl97 4y agoIf you have the answer card to a test it takes much less 'computation' to get the test correct. Print '2' is lot less operations than (insert formula here) if you know the answer is already 2.