Benchmarking LLVM/Clang's New AMD Zen Scheduler Model

Written by Michael Larabel in Software on 20 July 2017 at 08:22 AM EDT. Page 1 of 5. 7 Comments.

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.

Clang znver1 Scheduler Model Tests

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.


Related Articles