3 ms·
And the fastest M4 max was already fastest single and multicore CPU by a decent margin, while the fastest non-Apple CPU was only specialized for single or multi
by morshu9001 1y ago
And the fastest M4 max was already fastest single and multicore CPU by a decent margin, while the fastest non-Apple CPU was only specialized for single or multi.
- AnthonyMouse 1y agoThe single thread performance for modern high performance CPUs are all very close to each other. Apple's latest usually has a small advantage because they're the first to use TSMC's latest nodes, which is good for something like 15-20%. The fastest multicore CPUs are the ones with a lot of cores, e.g. 64+ core Threadrippers. These have approximately the same single-core performance as everything else from the same generation because single-core performance isn't affected much by number of cores or TDP, and they use the same cores. Everyone also uses Geekbench to compare things to Apple CPUs but the latest Geekbench multi-core is trash: https://dev.to/dkechag/how-geekbench-6-multicore-is-broken-by-design-44ig https://dev.to/dkechag/how-geekbench-6-multicore-is-broken-b...
- morshu9001 1y agoI was going by Geekbench. If it's broken then yeah.
- emn13 1y agoIt's not trash - it's quite nice for its niche. It's just not very scalable with cores, so it's best interpreted as a benchmark of lightly threaded workloads - like lots of typical consumer workloads are (gaming, web browsing, light office work). Then again, it's not hard to find workloads that scale much better, and geekbench 6 doesn't really have a benchmark for those. For the first 8 threads or so, it's fine. Once you hit 20 or so it's questionable, or at least that's my impression.
- morshu9001 1y agoI get how even for multithreaded workloads, having a few fast cores is often better than the equivalent many slow cores. Or NUMA. There can be value in a test like 8 threads full load regardless of how many cores there are. But Geekbench 6 isn't that either, at least according to the chart showing sharply diminishing returns after 2 cores.
- emn13 1y agoYep. Still, I think it's a pretty decent benchmark in the sense that it's fairly short, quite repeatable, does have a quite a few subtest, and it's horribly different from the nebulous concept that is "typical workloads". It's suspiciously memory-latency bound, perhaps more than most workloads, but that's a quibble. If they'd have simply labelled it "lightly threaded" instead of "multithreaded", it would have been fine. As it is, it's just clearly misleading to people that haven't somehow figured out that it's not really a great test of multithreaded throughput.
- musictubes 1y agoThat article points out that GB5 and GB6 test multi-core differently. The author notes that GB6 is supposed to approach performance the way most consumer programs actually work. GB5 is better suited for testing things like servers where every core is running independent tasks. The only “evidence” they give that GB6 is “trash” is that it doesn’t show increasing performance with more and more cores with certain tests. The obvious rejoinder is that GB6 is working perfectly well in testing that use case and those high core processors do not provide any benefit in that scenario. If you’re going to use synthetic benchmarks it’s important to use the one that reflects your actual use case. Sounds like GB6 is a good general purpose benchmark for most people. It doesn’t make any sense for server use, maybe it also isn’t useful for other use cases but GB6 isn’t trash.
- AnthonyMouse 1y ago> The only “evidence” they give that GB6 is “trash” is that it doesn’t show increasing performance with more and more cores with certain tests. The obvious rejoinder is that GB6 is working perfectly well in testing that use case and those high core processors do not provide any benefit in that scenario. The problem with this rejoinder is, of course, that you are then testing applications that don't use more cores while calling it a "multi-core" test. That's the purpose of the single core test. Meanwhile "most consumer programs" do use multiple cores, especially the ones you'd actually be waiting on. 7zip, encryption, Blender, video and photo editing, code compiles, etc. all use many cores. Even the demon scourge JavaScript has had thread pools for a while now and on top of that browsers give each tab its own process. It also ignores how people actually use computers. You're listening to music with 30 browser tabs open while playing a video game and the OS is doing updates in the background. Even if the game would only use 6 cores by itself, that's not what's happening.
- morshu9001 1y agoOk I had time to read through this, and yeah I agree, multicore test should not be waiting on so much shared state. There are examples of programs that aren't totally parallel or serial, they'll scale to maybe 6 cores on a 32-core machine. But there's so much variation in that, idk how you'd pick the right amount of sharing, so the only reasonable thing to test is something embarassingly parallel or close. Geekbench 6's scaling curve is way too flat.