Benchmarking LLVM/Clang 3.2, GCC 4.8, DragonEgg Compilers

Written by Michael Larabel in Software on 9 November 2012 at 10:57 AM EST. Page 1 of 5. 7 Comments.

Earlier this week I shared some updated benchmarks of the latest development code for LLVM/Clang 3.2 on an Intel Core i7 processor. Now from this same setup to complement the LLVM 3.1/3.2 benchmarks are results of the GCC 4.7.2 compiler, the latest GCC 4.8 development snapshot, and benchmarks of GCC when using LLVM's DragonEgg 3.1/3.2-SVN optimizer plug-in.

The tested LLVM releases were in their release/optimized builds as was the vanilla GCC compiles. Testing still happened from the Intel Core i7 720QM-based Lenovo ThinkPad W510 notebook running Ubuntu 12.10 x86_64 with the Linux 3.5 kernel.

The test configurations included LLVM Clang 3.1, LLVM Clang 3.2 SVN, GCC 4.7.2, GCC 4.8.0 using the 2012-11-04 snapshot, GCC 4.7.2 when paired with the DragonEgg 3.1 plug-in, GCC 4.7.2 with the DragonEgg 3.2 SVN compiler plug-in with LLVM 3.2 SVN, and then GCC 4.7.2 with the DragonEgg 3.2 SVN compiler plug-in with LLVM 3.2 SVN while additionally enabling the GCC optimizers in addition to the LLVM optimizers (using the "-fplugin-arg-dragonegg-enable-gcc-optzns" switch at compile-time).

For those still not familiar with DragonEgg, a GCC 4.5+ plug-in serves as a replacement to GCC's optimizers and code generations with those from LLVM. The DragonEgg plug-in works on x86 and x86_64 architectures with some ARM support. In the long run it wants to work with all GCC-supported languages but for now it's best off with C, C++, ADA, and Fortran. The Java, Objective-C, and Go language support is more limited with the LLVM optimizers and code generators.

Now let's see some results of the latest GCC and DragonEgg against LLVM...


Related Articles