Geekbench 7

5 days ago (geekbench.com)

Never really liked Geekbench. Synthetic benchmarks are easy to use and easy to understand but borderline useless. 1000 is better than 990 but it literally doesn't mean anything at all. Just an example: the 2017 Intel Xeon gets more points than an Apple M1 on multicore but everyone knows that they are incomparable. And no one should get a 2017 Intel Xeon because it's scoring higher yet that's the whole point of Geekbench, higher score is better.

Benchmarks like 7Zip compression/decompression, LAME encoding, Blackmagic RAW video encoding, Cinebench, x265 encoding, Blender encoding, Y Cruncher, and any of the built-in video game benchmarks make much more sense than Geekbench.

Some good benchmark options here https://hwbot.org/benchmarks

https://www.pcgamingwiki.com/wiki/List_of_games_with_built-i...

  • > the 2017 Intel Xeon gets more points than an Apple M1 on multicore but everyone knows that they are incomparable

    Why are they incomparable? If I want to run a highly parallel task surely this tells me which one to use?

    > Benchmarks like 7Zip compression/decompression, LAME encoding, Blackmagic RAW video encoding, Cinebench, x265 encoding, Blender encoding, Y Cruncher, and any of the built-in video game benchmarks make much more sense than Geekbench.

    Pretty sure the internal tests it uses are similar to these

  •   Benchmarks like 7Zip compression/decompression, LAME encoding, Blackmagic RAW video encoding, Cinebench, x265 encoding, Blender encoding, Y Cruncher, and any of the built-in video game benchmarks make much more sense than Geekbench.
    

    I don't think so. First, Geekbench already shows sub scores for different types of applications.[0] Second, nearly no one uses CPU rendering for Cinebench and Blender. They're mostly GPU work. Video encoding/decoding work is mostly done by the media engine or GPU on Apple Silicon. Third, CPU benchmarks tend to correlate. If a CPU is faster in one thing, it's more likely to be faster in another. Therefore, a comprehensive score like what Geekbench and SPEC provide is valuable.

    Geekbench is extremely good at showing general CPU performance, especially ST. It's also highly correlated with SPEC at nearly 1:1 in terms of scores as shown by Nuvia before they were purchased by Qualcomm.[1]

    [0]https://browser.geekbench.com/v6/cpu/18801240 scroll down

    [1]https://medium.com/silicon-reimagined/performance-delivered-...

    • While I definitely agree about video decoding, encoding still is a valuable measure.

      With inter-frame delivery codecs the hw encoder always focuses on speed, with a lean towards file size as well. It makes sense for most consumer use cases. 15x faster perhaps sure, but you might end up with a file almost 10x larger while still lower quality than a decent CPU encoding. Also the more off the beaten path of rec709 and rec2020 you go the less certain you can be that the hw encoder supports things.

      1 reply →

  • Benchmarks are like the SP500 index or IQ measurements: They distil multiple variables into one number. In doing so you lose details, but do get a useful measure.

    Yes, they are imperfect, but they do broadly measure how fast a processor is, and can be used for comparison.

  • >Never really liked Geekbench....

    As other have stated and perhaps worth pointing out clearly incase people don't get it. If you dislike Geekbench for those reasons, it is highly likely you don't know what Geekbench is testing in the first place.

    Personally I think Geekbench is a pretty damn good consumer testing benchmarks. I just wish there is something similar for Server testing PHP, Ruby, JVM, MySQL and Postrges etc.

    Can't wait to see all the M1 to M6 results. Along with AMD Zen 6.

  • Borderline useless? Is it just that the numbers are unit-less?

    You can extract meaning from them! Find your current computer, find the target computer, calculate the percentage difference. 1000 is 1% better than 990, so it indeed doesn't mean anything at all.

  • What you want exists, it's called SPECint/SPECfp.

  • To be honest I always got the sense that it had a sort of pro-Apple bias that doesn't seem to be reflected in real world applications.

  • AV1, Opus, Whisper, Jolt Physics... did you read the article? Are these not real?

  • a 2017 Xeon can absolutely smoke an M1.. (double the FP64 units, AVX-512; huge per core caches, boatloads of I/O lanes and RAM...)

    .. but it chugs power like it's not even funny.

    I do like synthetic benchmarks as one input signal when evaluating a CPU; otherwise we go back to stupid numbers like frequency... which also never made sense because they had 1.8GHz AMD Athlon CPUs outperforming 2.4GHz Pentium 4's in 2002-3...

    Doing a lot of real-world application testing is good, but there's always some you miss, and the worst part about it is that people start to lose patience when assessing.. How is a cinebench comparing to doing gamedev in UE5?

    How is doing gamedev in UE5 comparing to doing gamedev in Snowdrop?

    How does doing gamedev in Snowdrop compare to doing virtualisation (different CPUs handling that particular task better than others).

    there's so many dimensions that it will always be true that there's not enough testing.

    I'm not saying we shouldn't have rigorous testing like you say, in fact, what I'm actually saying is that "single number→would you like to go deeper" is a better pipeline than an excel spreadsheet that goes on for 10 pages (which still skips a bunch of nuance) and still better than one that goes on for 500 pages with a broad spectrum of topics.

    The reason I'm so bitter about this is because outlets like LTT and Gamers Nexus seem to choose their games randomly (based on popularity I guess?) and so all the titles I worked on kinda got smeared by my "company"- but our games used hugely different game engines that work differently (Dunia vs Snowdrop handle CPUs... VERY differently. Snowdrop is built for multi-core. Anvil works best on a single core, and Dunia has trouble going passed 4 cores- so on large systems with multiple NUMA zones the performance is.. worse.

    So the "battery of tests" always gave us a shitty score and reviewers just moved on believing themselves to be comprehensive arbiters of truth regarding performance and giving verdicts regarding the performance of games as a broad topic (which people take and don’t dig deeper themselves) and without regard to the utility of what they’re saying (500+ fps on CSGO isn't even renderable for example).

    People might have been better served by looking broadly at how powerful the CPUs actually are and then digging in for their use case once they whittle a few down, because then also: developers will actually make software that tries to use the features on offer instead of assuming people will just buy CPUs that work better on their workloads.

    It's a kind of "to big to fail" mentality where incumbents start being able to direct CPU sales based on those CPUs being optimised for their workloads. It's self-reinforcing.

I've run it on a couple Macs, and it looks like one of the issues they're trying to fix is poor multi-core scaling that affected Geekbench 6 on bigger multicore systems (with 32, 64, or 128+ CPU cores). I'll hopefully get time to test on my Ampere Altra Max systems later, to see how scaling works.

Geekbench 5 is famously much better than Geekbench 6 for benchmarking these workstation-class CPUs (though many other benchmarks are better still, especially if you can grab the source code and compile them yourself).

I still like having a set of benchmarks that run across Android, iOS, Windows, macOS, Linux, and on Arm, X86, RISC-V, etc... even if imperfect, it's a point of reference to get a general feel. And the single core scores are a great representation of a 'feel' against baseline in day-to-day use.

  • Please stop framing the multi core scaling issue as a matter of the benchmark being good or bad. Geekbench 5 scores scale better than Geekbench 6 scores because Geekbench 5's multicore test runs N independent copies of the same workload while Geekbench 6 runs one workload that has to be split across the available cores, with non-zero coordination between threads.

    The Geekbench 5 approach of pretending Amdahl's Law doesn't exist is sometimes a valid benchmarking strategy, but generally is the wrong choice for benchmarking consumer workloads and devices, and that's what Geekbench is ostensibly targeting.

    The fact that Geekbench 6 scores don't increase linearly with the addition of more CPU cores is not a weakness of the benchmark, it's the benchmark demonstrating an important real-world effect.

    The change that Geekbench 7 makes to exclude some subtests from the multicore suite entirely will definitely have the effect of making the overall multicore score scale better with the addition of more cores, but most of the audience for those scores is going to miss out on the fact that the multicore test now measures a narrower range of tasks than the single-core test suite.

    • I agree. For me personally I mostly only care about single thread geekbench variant, I believe it's an excellent proxy for general performance of a CPU. Multi thread geekbench (or other benchmarks) for most purposes and for most people, it's kinda useless. You just need to know that you have a quite a few cores on your computer and that it will have enough concurrency for what you do. But single thread will make whatever you do actually faster.

      1 reply →

    • Hmm, I don't fully agree. There are a whole lot of embarassingly parallel processes that people interested in many core workstations are interested in; compiling large C++ codebases for example tends to scale very well since each translation unit is independent. This is still going to not quite give you linear scaling so it's definitely still valuable to know what that looks like.

      11 replies →

    • They do mention that the change is meant to reflect how real world programs handle various types of workloads.

      > In Geekbench 7, a workload only runs in multi-threaded mode if the task it models actually runs multi-threaded in real applications. For example, the HTML5 Browser test isn’t included in the multi-threaded suite because web browsers are single-threaded (or lightly threaded).

      1 reply →

    • It bothers me because there is no reason it can't just give 3 results: single, mixed/low thread, all core and yet there is often debate on which 2 numbers in such benchmarks instead.

      But, of all of the 2-pick-only options, choosing a custom mix and calling it multi-core requires guessing your actual workload on both the content of the mixed test suite as well as the scaling profile of the CPU to reason with. On the other hand, just testing "single core" and "all core" at least only requires you to guess based on what you think the scaling profile of the CPU is.

      Nothing beats just testing your actual workload, but that doesn't mean all other ways of testing have to be equally good.

      4 replies →

    • While it would be nice to have a multi-threaded benchmark that demonstrates a realistic scaling towards many threads, I have no reason whatsoever to trust that the Geekbench implementers are capable to optimize the inter-thread communication well enough for reaching the limits imposed by the hardware.

      If they use inefficient thread synchronization methods, like those offered by the C++ compiler, or by the pthreads library on Linux, or by some of the older Win32 functions, their results will be much too pessimistic for the CPUs with many cores, creating the wrong impression that they are not much better, or not better at all, than CPUs with less cores.

      For Geekbench 6, I have seen enough results where CPUs that are much better for real multi-threaded workloads appeared to be almost the same as clearly inferior CPUs.

      For multi-threaded benchmarks, if they are embarassingly parallel the quality of the implementation does not influence the results, but otherwise it is not possible to trust the results without having access not only to the source program of the benchmark, but also to the compilers used by it.

      I have seen a lot of benchmarks of locking methods used for thread synchronization, where the results could not be interpreted correctly without seeing the assembly language instructions generated by the compiler for the locking sequences, because a bad assembly generation could matter more than the high-level algorithms whom the benchmark was supposed to compare.

      3 replies →

    • Honestly I think the world would be better off if Geekbench just refused to run on any machine over 28C. Then people could benchmark their workstations using... workstation benchmarks.

How does this handle hardware encode/decode of media? Tje announcement says it encodestdecodes AV1 but doesnt indicate if it leverages hardware codecs.

I was hoping for a benchmark that specifically tests AI capabilities like tokens per second. I didn't even try Geekbench for my recent build because of it since none of the results would be relevant. I guess this is mainly a benchmark for video games and social media usage.

Not great, but still probably better than Userbenchmark.

If you ever want a cheeky laugh ask your llm of choice to write a satirical Userbenchmark amd review.