LLVM Clang 3.4 Already Has Some Performance Changes

Written by Michael Larabel in Software on 27 June 2013. Page 1 of 4. 3 Comments

While LLVM 3.3 was released last week, there are already some performance changes for the latest LLVM 3.4 and Clang 3.4 SVN development code for this C/C++ compiler stack.

Ran earlier were GCC 4.9 compiler benchmarks on the Intel Core i7 4770K "Haswell" with the "core-avx2" compiler optimizations to exploit the new CPU instruction set extensions offered on the brand new processor. While the GCC 4.9 benchmarks yielded some changes, they weren't incredibly interesting. However, when testing LLVM/Clang 3.4 SVN, there were some more interesting performance changes.

LLVM/Clang 3.3 was just released last week, but it was branched from trunk in May and already it appears there have been some performance changes for LLVM/Clang 3.4 ahead of its expected release by the end of the calendar year. The CFLAGS/CXXFLAGS were set for "-O3 -march=core-avx2" to exploit the full capabilities of the wonderful Haswell processor and the compiler options were maintained the same throughout testing of all compilers.

These LLVM/Clang results build upon the earlier GCC 4.8.1/4.9.0 results for some reference data points. LLVM/Clang 3.3 and 3.4 were built in a release mode by disabling assertions and enabling optimizations. The SVN code for LLVM, Clang, and Compiler-RT were obtained from the Subversion repository on 26 June. All benchmarking was handled in a fully automated and reproducible manner using the open-source Phoronix Test Suite benchmarking software.

Related Articles