Question x86 and ARM architectures comparison thread.

Page 31 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

511

Diamond Member
Jul 12, 2024
5,322
4,733
106
Btw the compliers aren’t comparable. GCC 16 didn’t even exist when this was tested.

It should just say Xcode 16.1 or just apple clang 16.1, don’t know why Michael adds the misleading stuff
sure but clang 16 is 2024 GCC 13 is like 2022 I doubt changes for Zen5/ARL would be in GCC 13 he would have been better off using a LLVM Based compiler for doing testing of around the same timeframe would have been a more fair comparison and if he is using Apple propritery compiler than Intel/AMD might as well use their compiler toolchain.
 

poke01

Diamond Member
Mar 8, 2022
4,744
6,081
106
sure but clang 16 is 2024 GCC 13 is like 2022 I doubt changes for Zen5/ARL would be in GCC 13 he would have been better off using a LLVM Based compiler for doing testing of around the same timeframe would have been a more fair comparison and if he is using Apple propritery compiler than Intel/AMD might as well use their compiler toolchain.
Here is a newer GCC 14.2, it’s faster than 13.2. Michael didn’t test FFMPEG compilation in this review but we can compare LLVM compilation.


IMG_3108.jpeg
IMG_3109.jpeg

Also these don’t look like wall readings to me.

And here is the M4 Max in a MacBook.
IMG_3110.jpeg
What I’m most impressed is the perf/w on the M4 Max which use around 100watts at the wall.

I’m going to test my own 9800X3D on LLVM and see the time difference.
 
  • Like
Reactions: 511

MS_AT

Senior member
Jul 15, 2024
925
1,847
96
It should just say Xcode 16.1 or just apple clang 16.1, don’t know why Michael adds the misleading stuff
Because he doesn't care about the fine details, but scale and automation, that is why when you scrutinize the benchmarks from phoronix you will see all kinds of inconsistencies;) I guess on MacOS simply gcc aliases clang for convenience.

I doubt changes for Zen5/ARL would be in GCC 13 he would have been better off using a LLVM Based compiler for doing testing of around the same timeframe would have been a more fair comparison and if he is using Apple propritery compiler than Intel/AMD might as well use their compiler toolchain.
Support for Zen5 in mainstream LLVM is still a joke. It's copy paste of Zen4 backend which itself only recently got fixed and was a copy paste of Zen3. AMD is dropping a ball there.

Michael didn’t test FFMPEG compilation in this review but we can compare LLVM compilation.
I’m going to test my own 9800X3D on LLVM and see the time difference.
Be sure to build the same target as by default each will compile for the same architecture it's running on, which will trigger different code/data paths in the compiler;) Make sure to match the same options, and depending on the platform use the right compiler package ;) [As in my table, depending on the package source there was large diff between 18.1.8 clang versions].
 
  • Like
Reactions: poke01

Covfefe

Member
Jul 23, 2025
90
152
66
How did they measure power for the x86 machines? As I previously wrote, I only trust power at the wall, after all this is what the machines I run consume.
Software readings for everything. Here's the review.
The M4 showing was all the more impressive when looking at the CPU power consumption exposed by powermetrics compared to the Intel/AMD RAPL/PowerCap results on Linux.
 
  • Like
Reactions: 511 and Nothingness

poke01

Diamond Member
Mar 8, 2022
4,744
6,081
106
Tested on undervolted AMD 9800X3D. Power consumption in btop was 95w with a peak of 110w. @MS_AT @511

Latest clang 21.1.6

1768553045827.png


Latest GCC 15.2.1
1768553063288.png


oh and AMD's complier is pure dogwater. Its based on clang 17.0.6.
PTS crashed after it finished but so no web link but I managed a pic of the XML file.

It took 870 seconds, double the other compliers
1768553255932.png
 

511

Diamond Member
Jul 12, 2024
5,322
4,733
106
@poke01 I Know of a funny stuff you can use Intel's compiler and pass generic flag 🤣.(like -O2 -x86_64_V3) or something depending on what you passed those compiler
 

MS_AT

Senior member
Jul 15, 2024
925
1,847
96
oh and AMD's complier is pure dogwater. Its based on clang 17.0.6.
I would expect it to be the slowest, after all it's supposed to run extra optimization passes so the binary it produces is faster, I doubt anyone pays a lot of attention to how fast it itself is running.

Latest clang 21.1.6
I guess this was distribution clang not official clang? Since the latest clang is 21.1.8. I am not sure how cachy is sourcing it, if they are building from scratch. Also do you know how can I read from openbenchmarking the exact command used to build? I wasn't able to find it.

Latest GCC 15.2.1
That is surprisingly good result, I wonder if cachy is doing the sane thing and they have ditched ld underneath in favour of lld. Or maybe it's the other way around and the build defaults to system linker, which by default should be ld, so both are using the slow linker, hmm. I am too unfamiliar with Linux to be able to do more than guess;)

I Know of a funny stuff you can use Intel's compiler and pass generic flag 🤣.(like -O2 -x86_64_V3) or something depending on what you passed those compiler
Well you can run icx telling it to compile for znver5 outright, it's llvm based after all;) [it's another thing altogether that AMD still did not manage to merge proper scheduler data into upstream llvm]. https://godbolt.org/z/Ts6TxPef4
 

poke01

Diamond Member
Mar 8, 2022
4,744
6,081
106
how can I read from openbenchmarking the exact command used to build?
phoronix-test-suite install pts/build-llvm to install

phoronix-test-suite run pts/build-llvm-1.6.0 to run

And select 1 when it asks you to choose for Ninja
 
  • Like
Reactions: 511

MS_AT

Senior member
Jul 15, 2024
925
1,847
96
I just don't know Intel still does Fancy AMD bottlenecking in their Compilers this might get rid of it
Their own compiler is deprecated, I mean icc. Their new compiler (icx) is tuned llvm with extra optimization passes for Intel hardware as far as I understand. So it does not cripple AMD chips the way the old one used to do. It's just not applying extra passes, but the generic tunings apply to AMD chips too. Mystical is using icx to build Y-cruncher for Zen, or at least used to last time I checked and he found it the best available at the time for the purpose.

phoronix-test-suite install pts/build-llvm to install

phoronix-test-suite run pts/build-llvm-1.6.0 to run
Ah , I guess I was not precise enough, I mean the exact cmake command used to run the build itself, but I think these can be inferred from pts sources :) Thanks anyway:)
 

511

Diamond Member
Jul 12, 2024
5,322
4,733
106
Their own compiler is deprecated, I mean icc. Their new compiler (icx) is tuned llvm with extra optimization passes for Intel hardware as far as I understand. So it does not cripple AMD chips the way the old one used to do. It's just not applying extra passes, but the generic tunings apply to AMD chips too. Mystical is using icx to build Y-cruncher for Zen, or at least used to last time I checked and he found it the best available at the time for the purpose.
ICX is arguably the best compiler for x86_64 so I am not really surprising here but I just was not sure regarding AMD paths thanks for lmk.