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.