11-Way Intel Ivy Bridge Compiler Comparison
From an Intel Core i7 3770K "Ivy Bridge" system here is an 11-way compiler comparison to look at the performance of these popular code compilers on the latest-generation Intel hardware. Among the compilers being compared on Intel's Ivy Bridge platform are multiple releases of GCC, LLVM/Clang, DragonEgg, PathScale EKOPath, and Open64.
In this article is a plethora of benchmarks when the 11 different compiler configurations were used to build a set of test profiles via the Phoronix Test Suite and the performance of the resulting binaries were measured. The CCFLAGS/CXFLAGS were set to -O3 and -march=corei7-avx. The corei7-avx-i march option wasn't used since not all of the compilers in this comparison support all of the Ivy Bridge instructions. In another article will be a look at the LLVM/Clang and GNU Compiler Collection performance with different compiler tuning options.
Compiler test configurations for this article included:
- GCC 4.6.3
- GCC 4.7.0
- GCC 4.8.0 development snapshot from 2012-04-15
- LLVM-Clang 3.0
- LLVM-Clang 3.1 SVN (near-final snapshot)
- LLVM-DragonEgg 3.0 plug-in with GCC 4.6.3
- LLVM DragonEgg 3.0 plug-in with GCC 4.6.3 while additionally passing the aggressive GCC optimizations (both LLVM and GCC optimizers) via -fplugin-arg-dragonegg-enable-gcc-optzns
- LLVM-DragonEgg 3.1 SVN plug-in with GCC 4.6.3
- LLVM-DragonEgg 3.1 SVN plug-in with GCC 4.6.3 while additionally passing the aggressive GCC optimizations (both LLVM and GCC optimizers)
- PathScale EKOPath 22.214.171.124 snapshot
- Open64 5.0
The testing was done from an Ubuntu 12.04 LTS x86_64 host that was upgraded to using the Linux 3.4 kernel as well as an updated graphics stack.
All of the compilers were built by the GCC 4.6 release found in Ubuntu 12.04 and the compilers were configured in their release modes.