News: 0001543873

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GCC 15 Compiler Demonstrating Measurable Performance Gains For AMD EPYC Turin

([Software] 61 Minutes Ago 1 Comment)


With the recently released [1]GCC 15 (GCC 15.1) compiler besides adding new language features, enhancements to help developers in debugging build failures, and other refinements, there is the never-ending quest of compiler performance optimizations. Since the recent GCC 15.1 release candidate I've been testing this annual compiler feature release on more hardware, including several AMD 5th Gen EPYC "Turin" servers to great success compared to the prior GCC 14 stable series.

[2]

For your viewing pleasure today are some benchmarks I recently wrapped up comparing GCC 14.2 stable to the GCC 15.1 release candidate using an [3]AMD EPYC 9655(P) within the [4]Supermicro H13SSL-N 4U server build. Ubuntu 24.10 was running on this EPYC Turin server while manually upgraded to the Linux 6.13 kernel.

Both GCC 14.2 and GCC 15.1 RC1 were built from source in the same exact manner each time followed by building all of the open-source benchmarks under test. During the benchmarking process the CFLAGS/CXXFLAGS were maintained the same with "-O3 -march=native -flto" set for all of the benchmarks being built. Let's dive in to see how GCC 15.1 is looking over GCC 14 on this 96-core AMD EPYC Zen 5 server.



[1] https://www.phoronix.com/search/GCC+15

[2] https://www.phoronix.com/image-viewer.php?id=gcc15-amd-epyc-turin&image=gcc_15_turin_lrg

[3] https://www.phoronix.com/review/amd-epyc-9655

[4] https://www.phoronix.com/review/supermicro-h13ssln-epyc-turin



When users see one GUI as beautiful,
other user interfaces become ugly.
When users see some programs as winners,
other programs become lossage.

Pointers and NULLs reference each other.
High level and assembler depend on each other.
Double and float cast to each other.
High-endian and low-endian define each other.
While and until follow each other.

Therefore the Guru
programs without doing anything
and teaches without saying anything.
Warnings arise and he lets them come;
processes are swapped and he lets them go.
He has but doesn't possess,
acts but doesn't expect.
When his work is done, he deletes it.
That is why it lasts forever.