Benchmarking LLVM/Clang's New AMD Zen Scheduler Model
Just prior to LLVM 5.0 being branched yesterday, the AMD Zen scheduler model finally landed in LLVM and has the potential of boosting the performance of generated binaries targeting AMD's Zen "znver1" architecture. Here are some benchmarks of LLVM Clang 4.0 compared to the latest LLVM Clang compiler code when testing with both generic x86-64 optimizations and then optimized builds for the first-generation Zen CPUs, tested on a Ryzen 7 processor.
For this benchmarking were benchmarks of LLVM Clang 4.0 done with "-O3 -march=x86-64" and "-O3 -march=znver1" CFLAGS/CXXFLAGS for compiling the open-source C/C++ benchmarks used for this comparison. The same tests were repeated when building LLVM/Clang from SVN development code yesterday following the new Zen scheduler model having landed. The reported LLVM Clang version is 6.0, but this is still effectively 5.0 with having just pulled from SVN a short time after the branching occurred.
These LLVM Clang compiler benchmarks were done with an AMD Ryzen 7 1700 processor. In this article are just the Clang benchmarks while, yes, there will be some fresh GCC compiler benchmarks on this same Ryzen 7 system in a follow-up article. All of these Linux compiler benchmarks were done in a fully-automated and reproducible manner using the open-source Phoronix Test Suite benchmarking software.