With last week’s release of LLVM/Clang 10.0, here are our first benchmarks looking at the stable release of the Clang 10.0 C/C++ compiler compared to its previous (v9.0.1) release on various Intel and AMD processors under Ubuntu Linux.
Clang 10.0 brings more C++20 functionality (although not yet feature complete), improvements to its AMD znver2 target, shifted AVX-512 behavior to better align with GCC defaults, JCC Erratum mitigation options, Arm Neoverse N1/E1 support, MLIR, and a number of other additions.
This round of LLVM Clang 9.0.1 vs. 10.0.0 testing was done when building both versions in release builds on a Ubuntu 20.04 development snapshot with the Linux 5.4 kernel. Five distinctly different systems were used for looking at the Clang performance across multiple targets on both AMD and Intel. The processors tested were:
– Ryzen 9 3950X (Zen 2)
– Threadripper 3970X (Zen 2)
– Core i9 9900KS (Coffee Lake)
– Core i9 10980XE (Cascadelake-X)
– Core i7 1065G7 (Ice Lake)
Again, the systems are intentionally different and not meant for comparing the performance between CPUs but rather a broad look at the direction of the Clang 10 C/C++ compiler performance. The CFLAGS/CXXFLAGS of “-O3 -march=native” were set during all of the benchmarks. Via the Phoronix Test Suite a diverse collection of open-source C/C++ workloads were tested. Coming up in April will be fresh Clang vs. GCC 10 compiler benchmarks with GCC 10.1 stable due to be released in the weeks ahead.