Following yesterday's GCC 5 vs. 6 vs. early 7 benchmarks, to no surprise LLVM's Clang compiler was brought up in the comments. I had already been running some fresh LLVM Clang benchmarks on this same Intel Xeon system and have those results to share now with Clang 3.8 and the newly-released Clang 3.9.
This is the first time in a number of months I've carried out a large comparison of GCC vs. Clang using the latest compiler releases. For today's article are the GCC 5.4.0, GCC 6.2.0, and GCC 7.0.0 20160904 compiler benchmarks compared to LLVM Clang 3.8.0 and the new Clang 3.9.0 release. Interestingly, these benchmarks show a number of performance regressions in the generated binaries under Clang 3.9.
With all of the compiler benchmarks, the CFLAGS/CXXFLAGS were maintained the same at "-O3 -march=native" and all other system settings were maintained the same throughout the benchmarking process. All tests for this article were carried out in a completely automated and standardized manner via the open-source Phoronix Test Suite benchmarking software.