LLVM Clang 3.2 + GCC 4.8 + LLVM DragonEgg Compilers Benchmarking LLVM Clang 3.0, 3.1, 3.2 SVN compilers and GCC 4.7/4.8 under Linux with Ubuntu 12.10 x86_64 from an Intel Core i7 Lenovo ThinkPad laptop. Benchmarking by Michael Larabel for a future article on Phoronix.com. Also testing of the LLVM DragonEgg 3.1 / 3.2 SVN plug-in on GCC 4.7.2 as a plug-in for using LLVM's optimizers plus one run of using LLVM DragonEgg SVN while using both the GCC and LLVM optimizers. LLVM Clang 3.1: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: Clang 3.1 + LLVM 3.1, File-System: ext4, Screen Resolution: 1600x900 LLVM Clang 3.2 SVN: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: Clang 3.2 (SVN 167354) + LLVM 3.2svn, File-System: ext4, Screen Resolution: 1600x900 GCC 4.7.2: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: GCC 4.7.2, File-System: ext4, Screen Resolution: 1600x900 GCC 4.8.0 20121104: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: GCC 4.8.0 20121104, File-System: ext4, Screen Resolution: 1600x900 GCC 4.7.2 + DragonEgg 3.1: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: GCC 4.7.2, File-System: ext4, Screen Resolution: 1600x900 GCC 4.7.2 + DragonEgg 3.2 SVN: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: GCC 4.7.2, File-System: ext4, Screen Resolution: 1600x900 GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns: Processor: Intel Core i7 720Q @ 1.60GHz (8 Cores), Motherboard: LENOVO 4318CTO, Chipset: Intel Core DMI, Memory: 4096MB, Disk: 160GB INTEL SSDSA2M160, Graphics: NVIDIA Quadro FX 880M 1024MB (405/324MHz), Audio: Conexant CX20585, Network: Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 OS: Ubuntu 12.10, Kernel: 3.5.0-17-generic (x86_64), Desktop: Unity 6.8.0, Display Server: X Server 1.13.0, Display Driver: nouveau 1.0.2, OpenGL: 3.0 Mesa 9.0 Gallium 0.4, Compiler: GCC 4.7.2, File-System: ext4, Screen Resolution: 1600x900 Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better LLVM Clang 3.1 ......................... 32.82 |============================== LLVM Clang 3.2 SVN ..................... 32.96 |=============================== GCC 4.7.2 .............................. 26.69 |========================= GCC 4.8.0 20121104 ..................... 26.21 |======================== GCC 4.7.2 + DragonEgg 3.1 .............. 32.93 |============================== GCC 4.7.2 + DragonEgg 3.2 SVN .......... 33.48 |=============================== GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 26.94 |========================= Timed MAFFT Alignment 6.864 Multiple Sequence Alignment Seconds < Lower Is Better LLVM Clang 3.1 ................ 14.79 |====================================== LLVM Clang 3.2 SVN ............ 15.53 |======================================== GCC 4.7.2 ..................... 13.68 |=================================== GCC 4.8.0 20121104 ............ 14.06 |==================================== GCC 4.7.2 + DragonEgg 3.1 ..... 15.27 |======================================= GCC 4.7.2 + DragonEgg 3.2 SVN . 14.64 |====================================== Timed MrBayes Analysis 3.1.2 Primate Phylogeny Analysis Seconds < Lower Is Better LLVM Clang 3.1 ................ 40.01 |======================================== LLVM Clang 3.2 SVN ............ 39.74 |======================================== GCC 4.7.2 ..................... 32.29 |================================ GCC 4.8.0 20121104 ............ 32.67 |================================= GCC 4.7.2 + DragonEgg 3.1 ..... 37.78 |====================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 37.80 |====================================== Botan 1.10.3 Test: Tiger Mbytes/s > Higher Is Better LLVM Clang 3.1 ................ 281.53 |======================================= LLVM Clang 3.2 SVN ............ 283.37 |======================================= GCC 4.7.2 ..................... 270.47 |===================================== GCC 4.8.0 20121104 ............ 273.34 |====================================== GCC 4.7.2 + DragonEgg 3.1 ..... 281.89 |======================================= GCC 4.7.2 + DragonEgg 3.2 SVN . 282.97 |======================================= Botan 1.10.3 Test: KASUMI Mbytes/s > Higher Is Better LLVM Clang 3.1 ................ 45.76 |====================================== LLVM Clang 3.2 SVN ............ 47.65 |======================================== GCC 4.7.2 ..................... 28.97 |======================== GCC 4.8.0 20121104 ............ 28.05 |======================== GCC 4.7.2 + DragonEgg 3.1 ..... 42.25 |=================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 41.51 |=================================== Botan 1.10.3 Test: AES-256 Mbytes/s > Higher Is Better LLVM Clang 3.1 ................ 103.27 |================================== LLVM Clang 3.2 SVN ............ 102.50 |================================== GCC 4.7.2 ..................... 114.43 |====================================== GCC 4.8.0 20121104 ............ 95.34 |=============================== GCC 4.7.2 + DragonEgg 3.1 ..... 118.64 |======================================= GCC 4.7.2 + DragonEgg 3.2 SVN . 118.81 |======================================= Botan 1.10.3 Test: Twofish Mbytes/s > Higher Is Better LLVM Clang 3.1 ................ 125.79 |===================================== LLVM Clang 3.2 SVN ............ 125.49 |===================================== GCC 4.7.2 ..................... 131.78 |======================================= GCC 4.8.0 20121104 ............ 130.43 |======================================= GCC 4.7.2 + DragonEgg 3.1 ..... 120.72 |==================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 121.40 |==================================== Botan 1.10.3 Test: CAST-256 Mbytes/s > Higher Is Better LLVM Clang 3.1 ................ 81.19 |======================================== LLVM Clang 3.2 SVN ............ 80.92 |======================================== GCC 4.7.2 ..................... 63.47 |=============================== GCC 4.8.0 20121104 ............ 65.15 |================================ GCC 4.7.2 + DragonEgg 3.1 ..... 76.34 |====================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 76.30 |====================================== Botan 1.10.3 Test: X9.19-MAC Mbytes/s > Higher Is Better LLVM Clang 3.1 ................ 55.03 |====================================== LLVM Clang 3.2 SVN ............ 55.34 |======================================= GCC 4.7.2 ..................... 57.22 |======================================== GCC 4.8.0 20121104 ............ 55.98 |======================================= GCC 4.7.2 + DragonEgg 3.1 ..... 43.07 |============================== GCC 4.7.2 + DragonEgg 3.2 SVN . 43.38 |============================== SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better LLVM Clang 3.1 ......................... 370.90 |============================= LLVM Clang 3.2 SVN ..................... 375.44 |============================= GCC 4.7.2 .............................. 259.99 |==================== GCC 4.8.0 20121104 ..................... 260.33 |==================== GCC 4.7.2 + DragonEgg 3.1 .............. 382.45 |============================== GCC 4.7.2 + DragonEgg 3.2 SVN .......... 382.45 |============================== GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 386.25 |============================== SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better LLVM Clang 3.1 ......................... 1458.23 |============================ LLVM Clang 3.2 SVN ..................... 1214.92 |======================== GCC 4.7.2 .............................. 1174.80 |======================= GCC 4.8.0 20121104 ..................... 1220.53 |======================== GCC 4.7.2 + DragonEgg 3.1 .............. 1482.51 |============================= GCC 4.7.2 + DragonEgg 3.2 SVN .......... 1486.71 |============================= GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 1445.37 |============================ SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better LLVM Clang 3.1 ......................... 1081.44 |============================= LLVM Clang 3.2 SVN ..................... 1089.15 |============================= GCC 4.7.2 .............................. 788.66 |===================== GCC 4.8.0 20121104 ..................... 785.27 |===================== GCC 4.7.2 + DragonEgg 3.1 .............. 782.23 |===================== GCC 4.7.2 + DragonEgg 3.2 SVN .......... 785.18 |===================== GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 784.64 |===================== John The Ripper 1.7.9-jumbo-7 Test: Blowfish Real C/S > Higher Is Better LLVM Clang 3.1 ................ 660 |============ LLVM Clang 3.2 SVN ............ 672 |============ GCC 4.7.2 ..................... 2210 |========================================= GCC 4.7.2 + DragonEgg 3.1 ..... 2028 |====================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 2057 |====================================== VP8 libvpx Encoding 1.1.0 vpxenc Frames Per Second > Higher Is Better LLVM Clang 3.1 ......................... 9.33 |============================= LLVM Clang 3.2 SVN ..................... 9.54 |============================== GCC 4.7.2 .............................. 10.02 |=============================== GCC 4.7.2 + DragonEgg 3.1 .............. 9.26 |============================= GCC 4.7.2 + DragonEgg 3.2 SVN .......... 9.32 |============================= GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 9.84 |============================== GraphicsMagick 1.3.16 Operation: Sharpen Iterations Per Minute > Higher Is Better LLVM Clang 3.1 ................ 35 |======================== LLVM Clang 3.2 SVN ............ 35 |======================== GCC 4.7.2 ..................... 46 |=============================== GCC 4.8.0 20121104 ............ 45 |=============================== GCC 4.7.2 + DragonEgg 3.1 ..... 63 |=========================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 62 |========================================== GraphicsMagick 1.3.16 Operation: Resizing Iterations Per Minute > Higher Is Better LLVM Clang 3.1 ................ 66 |=============================== LLVM Clang 3.2 SVN ............ 67 |================================ GCC 4.7.2 ..................... 91 |=========================================== GCC 4.8.0 20121104 ............ 88 |========================================== GCC 4.7.2 + DragonEgg 3.1 ..... 89 |========================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 89 |========================================== GraphicsMagick 1.3.16 Operation: HWB Color Space Iterations Per Minute > Higher Is Better LLVM Clang 3.1 ................ 81 |=============================== LLVM Clang 3.2 SVN ............ 81 |=============================== GCC 4.7.2 ..................... 110 |========================================== GCC 4.8.0 20121104 ............ 108 |========================================= GCC 4.7.2 + DragonEgg 3.1 ..... 109 |========================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 108 |========================================= GraphicsMagick 1.3.16 Operation: Local Adaptive Thresholding Iterations Per Minute > Higher Is Better LLVM Clang 3.1 ................ 32 |======================== LLVM Clang 3.2 SVN ............ 32 |======================== GCC 4.7.2 ..................... 55 |========================================= GCC 4.8.0 20121104 ............ 54 |========================================= GCC 4.7.2 + DragonEgg 3.1 ..... 57 |=========================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 57 |=========================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better LLVM Clang 3.1 ......................... 1072.31 |=========================== LLVM Clang 3.2 SVN ..................... 1053.19 |=========================== GCC 4.7.2 .............................. 1129.11 |============================= GCC 4.8.0 20121104 ..................... 1132.00 |============================= GCC 4.7.2 + DragonEgg 3.1 .............. 1077.69 |============================ GCC 4.7.2 + DragonEgg 3.2 SVN .......... 1095.21 |============================ GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 1041.45 |=========================== C-Ray 1.1 Total Time Seconds < Lower Is Better LLVM Clang 3.1 ......................... 94.07 |=========================== LLVM Clang 3.2 SVN ..................... 77.59 |======================= GCC 4.7.2 .............................. 77.59 |======================= GCC 4.8.0 20121104 ..................... 76.11 |====================== GCC 4.7.2 + DragonEgg 3.1 .............. 103.17 |============================== GCC 4.7.2 + DragonEgg 3.2 SVN .......... 103.15 |============================== GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 77.48 |======================= Parallel BZIP2 Compression 1.1.6 256MB File Compression Seconds < Lower Is Better LLVM Clang 3.1 ..... 23.31 |=================================================== LLVM Clang 3.2 SVN . 22.65 |================================================== GCC 4.7.2 .......... 22.43 |================================================= GCC 4.8.0 20121104 . 18.93 |========================================= Primesieve 4.0 1e12 Prime Number Generation Seconds < Lower Is Better LLVM Clang 3.1 ................ 608.57 |===================================== LLVM Clang 3.2 SVN ............ 645.62 |======================================= GCC 4.7.2 ..................... 226.98 |============== GCC 4.8.0 20121104 ............ 228.48 |============== GCC 4.7.2 + DragonEgg 3.1 ..... 229.25 |============== GCC 4.7.2 + DragonEgg 3.2 SVN . 229.27 |============== Smallpt 1.0 Global Illumination Renderer; 100 Samples Seconds < Lower Is Better LLVM Clang 3.1 ......................... 255 |============================== LLVM Clang 3.2 SVN ..................... 277 |================================= GCC 4.7.2 .............................. 69 |======== GCC 4.8.0 20121104 ..................... 69 |======== GCC 4.7.2 + DragonEgg 3.1 .............. 88 |========== GCC 4.7.2 + DragonEgg 3.2 SVN .......... 88 |========== GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 72 |========= Minion 0.12 Benchmark: Bibd Seconds < Lower Is Better LLVM Clang 3.1 ................ 223.62 |======================================= LLVM Clang 3.2 SVN ............ 221.78 |======================================= GCC 4.7.2 ..................... 217.41 |====================================== GCC 4.8.0 20121104 ............ 212.13 |===================================== GCC 4.7.2 + DragonEgg 3.1 ..... 209.99 |===================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 210.28 |===================================== Minion 0.12 Benchmark: Graceful Seconds < Lower Is Better LLVM Clang 3.1 ................ 114.17 |===================================== LLVM Clang 3.2 SVN ............ 111.03 |==================================== GCC 4.7.2 ..................... 121.58 |======================================= GCC 4.8.0 20121104 ............ 113.98 |===================================== GCC 4.7.2 + DragonEgg 3.1 ..... 108.39 |=================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 108.34 |=================================== Minion 0.12 Benchmark: Solitaire Seconds < Lower Is Better LLVM Clang 3.1 ................ 221.10 |======================================= LLVM Clang 3.2 SVN ............ 218.00 |====================================== GCC 4.7.2 ..................... 213.03 |====================================== GCC 4.8.0 20121104 ............ 211.20 |===================================== GCC 4.7.2 + DragonEgg 3.1 ..... 209.33 |===================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 210.65 |===================================== Minion 0.12 Benchmark: Quasigroup Seconds < Lower Is Better LLVM Clang 3.1 ................ 266.32 |====================================== LLVM Clang 3.2 SVN ............ 273.94 |======================================= GCC 4.7.2 ..................... 253.19 |==================================== GCC 4.8.0 20121104 ............ 250.99 |==================================== GCC 4.7.2 + DragonEgg 3.1 ..... 251.77 |==================================== GCC 4.7.2 + DragonEgg 3.2 SVN . 252.65 |==================================== Tachyon 0.98.9 Total Time Seconds < Lower Is Better LLVM Clang 3.1 ......................... 36.02 |============================= LLVM Clang 3.2 SVN ..................... 36.20 |============================== GCC 4.7.2 .............................. 37.28 |=============================== GCC 4.8.0 20121104 ..................... 37.88 |=============================== GCC 4.7.2 + DragonEgg 3.1 .............. 34.62 |============================ GCC 4.7.2 + DragonEgg 3.2 SVN .......... 34.74 |============================ GCC 4.7.2 + DragonEgg 3.2 SVN + Optzns . 32.80 |===========================