A Linux Compiler Deathmatch: GCC, LLVM, DragonEgg, Open64, Etc...

Written by Michael Larabel in Software on 31 January 2011 at 01:09 AM EST. Page 2 of 5. 76 Comments.

Not all of the compilers were compatible with every test profile, but the ones listed with each test result were the ones that successfully worked. The Apache web-server results were not particularly interesting with the performance being about the same for the two GCC releases and the older LLVM-GCC.

With the results for the MD5 performance in John The Ripper, the choice of compiler played a huge role as to the overall application performance. Using LLVM-GCC with the GCC 4.2.1 derived compiler or GCC 4.5.1 with the LLVM DragonEgg plug-in, both caused a huge performance regression compared to GCC 4.4/4.5. The performance of the Open64 4.2.3 compiler was also behind the upstream GCC 4.4.5 / GCC 4.5.1 releases, but it was about 30% faster than the compiling solutions where coupling LLVM with GCC.

While the MD5 John The Ripper results showed Open64 and LLVM-GCC causing slow-downs, the Blowfish performance with the same application was actually in favor of Open64 and LLVM-GCC in the form of the DragonEgg plug-in. LLVM-GCC 4.2.1 was still much slower than the vanilla GCC 4.4.5 / 4.5.1 builds, but GCC 4.5.1 with the Dragon-Egg plug-in on LLVM 2.8 was 26% faster in this test than using GCC 4.5.1 without this LLVM optimization plug-in. Open64 was about 6% faster than GCC 4.5.1.


Related Articles