Compiler Benchmarks Of GCC, LLVM-GCC, DragonEgg, Clang

Written by Michael Larabel in Software on 8 November 2010 at 05:00 AM EST. Page 7 of 7. 62 Comments.

For our last two tests we looked at the time it took for these compilers to build software. While the LLVM solutions were not the fastest when running the binaries they generated, they were certainly the fastest at building the software. LLVM-GCC / DragonEgg / Clang all took around the same amount of time to build the Apache server on all three Ubuntu Linux systems, which is well ahead of GCC. Interestingly, there is a major slowdown in compilation performance for the latest GCC 4.6 development snapshot. This is interesting as GCC 4.6 is supposed to have faster compile times.

When building ImageMagick, GCC 4.6 continued to be horrifically slower while LLVM-GCC and Clang were the fastest. With this test though LLVM-GCC was the fastest where it is just plugging-in LLVM's generators and optimizers into GCC. GCC with DragonEgg could not successfully build ImageMagick.

While the Low-Level Virtual Machine and Clang continue hitting new milestones, such as feature-complete C++ support and separately now being able to now compile the Linux kernel, it is not yet in a position to fully replace the mature GCC stack. Some of our common Linux benchmarks could not even be built under Clang or even GCC when using the in-development DragonEgg plug-in. In other tests, the performance of LLVM/Clang and DragonEgg was worse off, but there were areas where this open-source compiler was able to shine.

LLVM could not outdo GCC when it came to John The Ripper, MAFFT, HMMer, 7-Zip, LAME MP3, GraphicsMagick, and others. Clang/DragonEgg/LLVM-GCC results were favorable over GCC when it came to C-Ray and Himeno (with only the AMD Opteron workstation) and then the faster compilation times. In other instances, the performance of the LLVM-leveraged compilers was just on par with the GNU Compiler Collection for its C/C++ performance. Worth noting from these results were also the performance improvements found with the GCC 4.6 development snapshot we tested, which will be something to look forward to in 2011.

While LLVM/Clang is not yet decisively faster than GCC, it is continuing to make great progress and does boast a different feature-set and focus from the GNU Compiler Collection. The DragonEgg plug-in also shows great potential for speeding-up GCC and as an optimization solution for languages not supported by Clang or other LLVM-based compilers. Going into 2011 we will continue to monitor the compiler performance.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.


Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.