GCC 13 vs. Clang 17 Compiler Benchmarks, Early Clang 18 & GCC 14 Development Benchmarks

Written by Michael Larabel in Software on 28 December 2023 at 07:27 AM EST. Page 2 of 8. 13 Comments.
C-Blosc benchmark with settings of Test: blosclz shuffle, Buffer Size: 256MB. GCC 13.2 was the fastest.
C-Blosc benchmark with settings of Test: blosclz noshuffle, Buffer Size: 256MB. GCC 13.2 was the fastest.
C-Blosc benchmark with settings of Test: blosclz bitshuffle, Buffer Size: 256MB. GCC 13.2 was the fastest.

As was originally the case on AArch64 and has been commonly the case on x86_64 in recent times, the performance of binaries built by LLVM Clang can match or exceed that of the long-used GCC compiler. That's still the case with GCC 13 and Clang 17 with frequently trading blows between the two compilers. It was observed through right off the bat that Clang 18 and GCC 14 were performing slower than their predecessors for some software; we'll see if that's rectified before these compilers are released in 2024 or some artifact of their current development state.

QuantLib benchmark with settings of Configuration: Multi-Threaded. GCC 14 23 Dec was the fastest.
QuantLib benchmark with settings of Configuration: Single-Threaded. Clang 17.0.2 was the fastest.

GCC 14 was showing better performance than GCC 13 for the QuantLib quantitative finance software. Clang 18 failed to build the current QuantLib 1.32 release.

Crypto++ benchmark with settings of Test: Keyed Algorithms. Clang 18 23 Dec was the fastest.
Crypto++ benchmark with settings of Test: Unkeyed Algorithms. GCC 13.2 was the fastest.

Meanwhile with Crypto++ it failed to build with GCC 14 due to compiler changes but was worth noting with this benchmark that Clang 18 was faster than Clang 17.

LeelaChessZero benchmark with settings of Backend: Eigen. Clang 18 23 Dec was the fastest.

Clang 18 was also showing a speed-up on this AMD Ryzen Threadripper workstation for the LC0 chess benchmark.

miniBUDE benchmark with settings of Implementation: OpenMP, Input Deck: BM2. Clang 18 23 Dec was the fastest.
miniBUDE benchmark with settings of Implementation: OpenMP, Input Deck: BM2. Clang 18 23 Dec was the fastest.

The miniBUDE HPC mini benchmark was showing some nice gains for both the new GCC and Clang development releases. Clang was delivering some nice speed-ups over GCC for this particular application.


Related Articles