3 ms·
Of course, the scheduler can easily be told to run both benchmark threads on the two hyperthreads of a given core. The argument to be made is that because of t
by cpgxiii 6y ago
Of course, the scheduler can easily be told to run both benchmark threads on the two hyperthreads of a given core.
The argument to be made is that because of the resources dedicated to SMT, single thread on AMD/Intel versus single thread on Apple is not measuring the true potential performance of the whole core. In principle, some multithreaded workload over all available threads could be a better metric for whole-processor performance.
- Jonnax 6y agoFair enough. But if you're comparing single threaded performance, there isn't a reason to split the workload into two threads for AMD/Intel and have it as a single thread for Apple. If I had a single threaded application or a single threaded critical path of a multithreaded application. I don't see a scenario where SMT will help AnandTech have done a comparison here: https://www.anandtech.com/show/16261/investigating-performance-of-multithreading-on-zen-3-and-amd-ryzen-5000/2 https://www.anandtech.com/show/16261/investigating-performan... You can see it's all within 1% with it on and off for single threaded.
- cpgxiii 6y agoBenchmarking multicore Performance+Efficiency (Apple) versus SMT (AMD) versus SMT+Wide vectors (Intel) is never going to provide perfect apples-to-apples comparisons. There's an entirely reasonable argument that single-thread performance is oversold as a metric, and that the focus on it advantages some platforms over others. At the end of the day, benchmarks are inherently only an approximate measure of how real-world code will perform. SMT, basically by definition, is rarely going to benchmark well, but is inherently going to show more of a benefit when running real-world mixed workloads.