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 1 of 5. 76 Comments.

Started by one of our readers more than a week ago was a compiler deathmatch for comparing the performance of GCC, LLVM Clang, PCC (the Portable C Compiler), TCC (Tiny C Compiler), and Intel's C Compiler under Arch Linux. This user did not stop there with compiling these different x86_64 code compilers, but he also went on to look at the compiler performance with different compiler flags, among other options. The results are definitely worth looking at and here are some more.

If you have not already, check out this forum thread where the results and discussions can be found spread across a few pages with multiple sets of results. The testing was done using the Phoronix Test Suite 2.8 software in conjunction with Phoronix Global, but with Phoronix Test Suite 3.0-Iveland and OpenBenchmarking.org this will end up being even better and more powerful if this compiler testing continues. Many different test profiles are used including the timed Apache compilation, the Apache web-server benchmark itself, 7-Zip compression, MP3 encoding, cryptography, ray-tracing, and much more.

In past months we have looked at the compiler performance on a 32-bit Atom netbook using GCC 4.2.4, GCC 4.3.5, GCC 4.4.5, GCC 4.5.1, GCC 4.6.0-20101120, and LLVM 2.8 with Clang. There also was a more thorough comparison from an Intel 970 Gulftown system where GCC 4.2.1, GCC 4.3, GCC 4.4, GCC 4.5, and GCC 4.6 were pressed against LLVM with Clang 2.8, LLVM-GCC with GCC 4.2.1 and LLVM 2.8, LLVM 2.8 with the DragonEgg plug-in for GCC 4.5.1, and then using LLVM 2.8 with the Clang compiler.

To complement the compiler testing being done right now by the Phoronix community, here are a new set of compiler results but this time from a dual-core Intel 64-bit Atom CPU with Hyper Threading in a ASUS Eee PC 1201N netbook with 2GB of system memory, 250GB Hitachi HTS54502 SATA HDD, and NVIDIA GeForce 9400M graphics. The operating system in use was Ubuntu 10.10 with the Linux 2.6.35 kernel, GNOME 2.32.0, and X Server 1.9.0. The compilers tested were GCC 4.4.5, GCC 4.5.1, LLVM-GCC 4.2.1 with LLVM 2.8, LLVM-GCC with LLVM 2.8 on GCC 4.5.1 via DragonEgg, Open64 4.2.3, and PCC 0.9.9 20110126. All compilers were tested in their "out of the box" configuration without specifying any extra flags.

The tests ran for this complementary compiler testing article included Apache, John The Ripper, BYTE, C-Ray, Himeno, MAFFT, 7-Zip, FLAC, and GraphicsMagick. This testing was done using the latest revision of Phoronix Test Suite 3.0-Iveland / OpenBenchmarking.org.


Related Articles