LLVM 3.4 vs. GCC 4.9 Compiler Benchmarks Tests by Michael Larabel for a future article on Phoronix.com looking at the LLVM Clang 3.4 open-source compiler performance from Ubuntu Linux then compared to GCC 4.8 and GCC 4.9. LLVM Clang 3.4 SVN: Processor: Intel Core i7-4960X @ 4.00GHz (12 Cores), Motherboard: MSI X79MA-GD45 (MS-7738) v1.0, Chipset: Intel Xeon E5 v2/Core, Memory: 8192MB, Disk: 1000GB Seagate ST1000DX001-1CM1, Graphics: Sapphire AMD Radeon HD 4870 512MB, Audio: Realtek ALC892, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 14.04, Kernel: 3.13.0-999-generic (x86_64), Desktop: Unity 7.1.2, Display Server: X Server 1.14.4, Display Driver: radeon 7.2.0, OpenGL: 3.1 Mesa 10.0.0 Gallium 0.4, Compiler: Clang 3.4 (SVN 197046) + LLVM 3.4, File-System: ext4, Screen Resolution: 1920x1080 LLVM Clang 3.3: Processor: Intel Core i7-4960X @ 4.00GHz (12 Cores), Motherboard: MSI X79MA-GD45 (MS-7738) v1.0, Chipset: Intel Xeon E5 v2/Core, Memory: 8192MB, Disk: 1000GB Seagate ST1000DX001-1CM1, Graphics: Sapphire AMD Radeon HD 4870 512MB, Audio: Realtek ALC892, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 14.04, Kernel: 3.13.0-999-generic (x86_64), Desktop: Unity 7.1.2, Display Server: X Server 1.14.4, Display Driver: radeon 7.2.0, OpenGL: 3.1 Mesa 10.0.0 Gallium 0.4, Compiler: Clang 3.3 + LLVM 3.3, File-System: ext4, Screen Resolution: 1920x1080 GCC 4.9.0 20131208: Processor: Intel Core i7-4960X @ 4.00GHz (12 Cores), Motherboard: MSI X79MA-GD45 (MS-7738) v1.0, Chipset: Intel Xeon E5 v2/Core, Memory: 8192MB, Disk: 1000GB Seagate ST1000DX001-1CM1, Graphics: Sapphire AMD Radeon HD 4870 512MB, Audio: Realtek ALC892, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 14.04, Kernel: 3.13.0-999-generic (x86_64), Desktop: Unity 7.1.2, Display Server: X Server 1.14.4, Display Driver: radeon 7.2.0, OpenGL: 3.1 Mesa 10.0.0 Gallium 0.4, Compiler: GCC 4.9.0 20131208, File-System: ext4, Screen Resolution: 1920x1080 GCC 4.8.2: Processor: Intel Core i7-4960X @ 4.00GHz (12 Cores), Motherboard: MSI X79MA-GD45 (MS-7738) v1.0, Chipset: Intel Xeon E5 v2/Core, Memory: 8192MB, Disk: 1000GB Seagate ST1000DX001-1CM1, Graphics: Sapphire AMD Radeon HD 4870 512MB, Audio: Realtek ALC892, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 14.04, Kernel: 3.13.0-999-generic (x86_64), Desktop: Unity 7.1.2, Display Server: X Server 1.14.4, Display Driver: radeon 7.2.0, OpenGL: 3.1 Mesa 10.0.0 Gallium 0.4, Compiler: GCC 4.8.2, File-System: ext4, Screen Resolution: 1920x1080 Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better LLVM Clang 3.4 SVN . 8.70 |==================================================== LLVM Clang 3.3 ..... 8.71 |==================================================== GCC 4.9.0 20131208 . 8.70 |==================================================== GCC 4.8.2 .......... 8.73 |==================================================== BLAKE2 20121223 Phoronix Test Suite v4.8.6 Cycles Per Byte < Lower Is Better LLVM Clang 3.4 SVN . 5.10 |=================================== LLVM Clang 3.3 ..... 7.58 |==================================================== GCC 4.9.0 20131208 . 5.32 |==================================== GCC 4.8.2 .......... 5.30 |==================================== Botan 1.10.3 Test: Tiger Mbytes/s > Higher Is Better LLVM Clang 3.4 SVN . 431.77 |================================================== LLVM Clang 3.3 ..... 433.55 |================================================== GCC 4.8.2 .......... 431.68 |================================================== Botan 1.10.3 Test: KASUMI Mbytes/s > Higher Is Better LLVM Clang 3.4 SVN . 52.21 |=================================== LLVM Clang 3.3 ..... 67.70 |============================================= GCC 4.8.2 .......... 76.59 |=================================================== Botan 1.10.3 Test: AES-256 Mbytes/s > Higher Is Better LLVM Clang 3.4 SVN . 202.80 |================================================== LLVM Clang 3.3 ..... 192.16 |=============================================== GCC 4.8.2 .......... 150.44 |===================================== Botan 1.10.3 Test: Twofish Mbytes/s > Higher Is Better LLVM Clang 3.4 SVN . 200.82 |================================================== LLVM Clang 3.3 ..... 195.64 |================================================= GCC 4.8.2 .......... 200.74 |================================================== Botan 1.10.3 Test: CAST-256 Mbytes/s > Higher Is Better LLVM Clang 3.4 SVN . 110.71 |================================================ LLVM Clang 3.3 ..... 114.20 |================================================== GCC 4.8.2 .......... 96.56 |========================================== Botan 1.10.3 Test: X9.19-MAC Mbytes/s > Higher Is Better LLVM Clang 3.4 SVN . 79.86 |=============================================== LLVM Clang 3.3 ..... 83.84 |================================================= GCC 4.8.2 .......... 86.57 |=================================================== SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better LLVM Clang 3.4 SVN . 1986.97 |================================================= LLVM Clang 3.3 ..... 1531.29 |====================================== GCC 4.9.0 20131208 . 1390.53 |================================== GCC 4.8.2 .......... 1389.41 |================================== SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better LLVM Clang 3.4 SVN . 637.24 |================================================== LLVM Clang 3.3 ..... 632.55 |================================================== GCC 4.9.0 20131208 . 572.28 |============================================= GCC 4.8.2 .......... 577.28 |============================================= SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better LLVM Clang 3.4 SVN . 344.33 |================================================= LLVM Clang 3.3 ..... 339.21 |================================================= GCC 4.9.0 20131208 . 347.83 |================================================== GCC 4.8.2 .......... 347.12 |================================================== SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better LLVM Clang 3.4 SVN . 2779.39 |================================================= LLVM Clang 3.3 ..... 2469.34 |============================================ GCC 4.9.0 20131208 . 2317.41 |========================================= GCC 4.8.2 .......... 2315.77 |========================================= SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better LLVM Clang 3.4 SVN . 4449.09 |================================================= LLVM Clang 3.3 ..... 2489.31 |=========================== GCC 4.9.0 20131208 . 2506.89 |============================ GCC 4.8.2 .......... 2501.01 |============================ SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better LLVM Clang 3.4 SVN . 1724.82 |================================================= LLVM Clang 3.3 ..... 1726.03 |================================================= GCC 4.9.0 20131208 . 1208.22 |================================== GCC 4.8.2 .......... 1205.85 |================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better LLVM Clang 3.4 SVN . 1713.47 |======================================== LLVM Clang 3.3 ..... 1671.60 |======================================= GCC 4.9.0 20131208 . 2080.93 |================================================= GCC 4.8.2 .......... 1714.84 |======================================== 7-Zip Compression 9.20.1 Compress Speed Test MIPS > Higher Is Better LLVM Clang 3.4 SVN . 30977 |=================================================== LLVM Clang 3.3 ..... 30761 |=================================================== GCC 4.9.0 20131208 . 29544 |================================================= GCC 4.8.2 .......... 29344 |================================================ Timed MPlayer Compilation 1.0-rc3 Time To Compile Seconds < Lower Is Better LLVM Clang 3.4 SVN . 3.16 |===== GCC 4.9.0 20131208 . 33.07 |=================================================== GCC 4.8.2 .......... 31.62 |================================================= Timed PHP Compilation 5.2.9 Time To Compile Seconds < Lower Is Better LLVM Clang 3.4 SVN . 13.50 |================================ LLVM Clang 3.3 ..... 15.26 |==================================== GCC 4.9.0 20131208 . 21.53 |=================================================== GCC 4.8.2 .......... 20.81 |================================================= C-Ray 1.1 Total Time Seconds < Lower Is Better LLVM Clang 3.4 SVN . 19.94 |=================================================== LLVM Clang 3.3 ..... 19.54 |================================================== GCC 4.9.0 20131208 . 17.42 |============================================= GCC 4.8.2 .......... 17.49 |============================================= Parallel BZIP2 Compression 1.1.6 256MB File Compression Seconds < Lower Is Better LLVM Clang 3.4 SVN . 5.71 |==================================================== LLVM Clang 3.3 ..... 5.70 |==================================================== GCC 4.8.2 .......... 4.81 |============================================ FLAC Audio Encoding 1.3.0 WAV To FLAC Seconds < Lower Is Better LLVM Clang 3.4 SVN . 4.84 |============================================= LLVM Clang 3.3 ..... 5.65 |==================================================== GCC 4.9.0 20131208 . 4.11 |====================================== GCC 4.8.2 .......... 5.29 |================================================= LAME MP3 Encoding 3.99.3 WAV To MP3 Seconds < Lower Is Better LLVM Clang 3.4 SVN . 11.79 |=============================================== LLVM Clang 3.3 ..... 12.86 |=================================================== GCC 4.9.0 20131208 . 12.55 |================================================== GCC 4.8.2 .......... 12.75 |=================================================== FFmpeg 2.0 H.264 HD To NTSC DV Seconds < Lower Is Better LLVM Clang 3.4 SVN . 11.42 |=================================================== LLVM Clang 3.3 ..... 11.30 |================================================== GCC 4.9.0 20131208 . 11.28 |================================================== GCC 4.8.2 .......... 11.35 |=================================================== Hierarchical INTegration 1.0 Test: FLOAT QUIPs > Higher Is Better LLVM Clang 3.4 SVN . 230228636.05 |============================== LLVM Clang 3.3 ..... 277549891.07 |==================================== GCC 4.9.0 20131208 . 340096979.25 |============================================ GCC 4.8.2 .......... 337303850.89 |============================================ Hierarchical INTegration 1.0 Test: DOUBLE QUIPs > Higher Is Better LLVM Clang 3.4 SVN . 588678410.65 |====================================== LLVM Clang 3.3 ..... 599037509.43 |====================================== GCC 4.9.0 20131208 . 689565776.59 |============================================ GCC 4.8.2 .......... 679836110.18 |=========================================== NGINX Benchmark 1.0.11 Static Web Page Serving Requests Per Second > Higher Is Better LLVM Clang 3.4 SVN . 18974.45 |================================================ LLVM Clang 3.3 ..... 18991.89 |================================================ GCC 4.9.0 20131208 . 14991.69 |====================================== GCC 4.8.2 .......... 18948.07 |================================================ Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better LLVM Clang 3.4 SVN . 14606.91 |================================================ LLVM Clang 3.3 ..... 14690.90 |================================================ GCC 4.9.0 20131208 . 14553.30 |================================================ GCC 4.8.2 .......... 14621.88 |================================================ N-Queens 1.0 Elapsed Time Seconds < Lower Is Better GCC 4.9.0 20131208 . 24.58 |================================================== GCC 4.8.2 .......... 24.99 |===================================================