Just look up with people like Linus Torvalds say about it. I'm not going to take part in your "RAAAH APPLE!" vs "RAAAH SAMSUNG!" crap. Read up on what geekbench is and you will either come to the same conclusion or, just feel more hostile towards people like me who feel that it's a crappy benchmark that shouldn't be used as the ONLY bench in a test.
I don't care about either Samsung or Apple, but oh well. I'm sure you don't care about that and probably will soon start a crusade for the sacred fruit.
So let's discuss what Linus has said, shall we?
https://www.realworldtech.com/forum/?threadid=136526&curpostid=136666 said:
Geekbench is SH*T.
It actually seems to have gotten worse with version 3, which you should be aware of. On ARM64, that SHA1 performance is hardware-assisted. I don't know if SHA2 is too, but Aarch64 does apparently do SHA256 in the crypto unit, so it might be fully or partially so.
And on both ARM and x86, the AES numbers are similarly just about the crypto unit.
So basically a quarter to a third of the "integer" workloads are just utter BS. They are not comparable across architectures due to the crypto units, and even within one architecture the numbers just don't mean much of anything.
And quite frankly, it's not even just the crypto ones. Looking at the other GB3 "benchmarks", they are mainly small kernels: not really much different from dhrystone. I suspect most of them have a code footprint that basically fits in a L1I cache.
Linus
Linus essentially has two complaints:
complaint #1 said:
It actually seems to have gotten worse with version 3, which you should be aware of. On ARM64, that SHA1 performance is hardware-assisted. I don't know if SHA2 is too, but Aarch64 does apparently do SHA256 in the crypto unit, so it might be fully or partially so.
And on both ARM and x86, the AES numbers are similarly just about the crypto unit.
So basically a quarter to a third of the "integer" workloads are just utter BS. They are not comparable across architectures due to the crypto units, and even within one architecture the numbers just don't mean much of anything.
complaint #2 said:
And quite frankly, it's not even just the crypto ones. Looking at the other GB3 "benchmarks", they are mainly small kernels: not really much different from dhrystone. I suspect most of them have a code footprint that basically fits in a L1I cache.
Please, pay attention Linus refers to Geekbench 3.
Re complaint #1, let's see how Geekbench
4 composes its cpu scores:
https://www.geekbench.com/doc/geekbench4-cpu-workloads.pdf said:
Scores
Geekbench 4 provides two composite scores: single-core and multi-core. These scores are computed using a weighted arithmetic mean of the subsection scores. The subsection scores are computed using the geometric mean of the scores of the workloads contained in that section.
Subsection Weight
Cryptography 5%
Integer 45%
Floating Point 30%
Memory 20%
Notice that? 5% is pretty much within the margin of error one could get across multiple runs of Geekbench on a phone. Basically, crypto accounts to nothing in Geekbench 4.
Re complaint #2, it's more of a generic complaint, but his opinion is definitely arguable - for a benchmark that mainly tests the qualities of uarchitectures, it's arguable if the code fitting L1I is good or not. For instance, if I was benchmarking an uarch, I'd make sure my tests fitted in L1 as well. Moreover, most real-world heavy work is done by code that fits in L1I anyway, perhaps L2 at most. It's the
data that usually overrun L1, L2 and the entire cache hierarchy many times over, and those Geekbench 4 tests don't fit their data in L1 - that much I can guarantee you, at least for those tests I've reverse engineered.