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.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 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 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 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 Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better LLVM Clang 3.3 ..... 8.71 |==================================================== LLVM Clang 3.4 SVN . 8.70 |==================================================== GCC 4.8.2 .......... 8.73 |==================================================== GCC 4.9.0 20131208 . 8.70 |==================================================== BLAKE2 20121223 Phoronix Test Suite v4.8.6 Cycles Per Byte < Lower Is Better LLVM Clang 3.3 ..... 7.58 |==================================================== LLVM Clang 3.4 SVN . 5.10 |=================================== GCC 4.8.2 .......... 5.30 |==================================== GCC 4.9.0 20131208 . 5.32 |==================================== Botan 1.10.3 Test: Tiger Mbytes/s > Higher Is Better LLVM Clang 3.3 ..... 433.55 |================================================== LLVM Clang 3.4 SVN . 431.77 |================================================== GCC 4.8.2 .......... 431.68 |================================================== Botan 1.10.3 Test: KASUMI Mbytes/s > Higher Is Better LLVM Clang 3.3 ..... 67.70 |============================================= LLVM Clang 3.4 SVN . 52.21 |=================================== GCC 4.8.2 .......... 76.59 |=================================================== Botan 1.10.3 Test: AES-256 Mbytes/s > Higher Is Better LLVM Clang 3.3 ..... 192.16 |=============================================== LLVM Clang 3.4 SVN . 202.80 |================================================== GCC 4.8.2 .......... 150.44 |===================================== Botan 1.10.3 Test: Twofish Mbytes/s > Higher Is Better LLVM Clang 3.3 ..... 195.64 |================================================= LLVM Clang 3.4 SVN . 200.82 |================================================== GCC 4.8.2 .......... 200.74 |================================================== Botan 1.10.3 Test: CAST-256 Mbytes/s > Higher Is Better LLVM Clang 3.3 ..... 114.20 |================================================== LLVM Clang 3.4 SVN . 110.71 |================================================ GCC 4.8.2 .......... 96.56 |========================================== Botan 1.10.3 Test: X9.19-MAC Mbytes/s > Higher Is Better LLVM Clang 3.3 ..... 83.84 |================================================= LLVM Clang 3.4 SVN . 79.86 |=============================================== GCC 4.8.2 .......... 86.57 |=================================================== SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better LLVM Clang 3.3 ..... 1531.29 |====================================== LLVM Clang 3.4 SVN . 1986.97 |================================================= GCC 4.8.2 .......... 1389.41 |================================== GCC 4.9.0 20131208 . 1390.53 |================================== SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better LLVM Clang 3.3 ..... 632.55 |================================================== LLVM Clang 3.4 SVN . 637.24 |================================================== GCC 4.8.2 .......... 577.28 |============================================= GCC 4.9.0 20131208 . 572.28 |============================================= SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better LLVM Clang 3.3 ..... 339.21 |================================================= LLVM Clang 3.4 SVN . 344.33 |================================================= GCC 4.8.2 .......... 347.12 |================================================== GCC 4.9.0 20131208 . 347.83 |================================================== SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better LLVM Clang 3.3 ..... 2469.34 |============================================ LLVM Clang 3.4 SVN . 2779.39 |================================================= GCC 4.8.2 .......... 2315.77 |========================================= GCC 4.9.0 20131208 . 2317.41 |========================================= SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better LLVM Clang 3.3 ..... 2489.31 |=========================== LLVM Clang 3.4 SVN . 4449.09 |================================================= GCC 4.8.2 .......... 2501.01 |============================ GCC 4.9.0 20131208 . 2506.89 |============================ SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better LLVM Clang 3.3 ..... 1726.03 |================================================= LLVM Clang 3.4 SVN . 1724.82 |================================================= GCC 4.8.2 .......... 1205.85 |================================== GCC 4.9.0 20131208 . 1208.22 |================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better LLVM Clang 3.3 ..... 1671.60 |======================================= LLVM Clang 3.4 SVN . 1713.47 |======================================== GCC 4.8.2 .......... 1714.84 |======================================== GCC 4.9.0 20131208 . 2080.93 |================================================= 7-Zip Compression 9.20.1 Compress Speed Test MIPS > Higher Is Better LLVM Clang 3.3 ..... 30761 |=================================================== LLVM Clang 3.4 SVN . 30977 |=================================================== GCC 4.8.2 .......... 29344 |================================================ GCC 4.9.0 20131208 . 29544 |================================================= Timed MPlayer Compilation 1.0-rc3 Time To Compile Seconds < Lower Is Better LLVM Clang 3.4 SVN . 3.16 |===== GCC 4.8.2 .......... 31.62 |================================================= GCC 4.9.0 20131208 . 33.07 |=================================================== Timed PHP Compilation 5.2.9 Time To Compile Seconds < Lower Is Better LLVM Clang 3.3 ..... 15.26 |==================================== LLVM Clang 3.4 SVN . 13.50 |================================ GCC 4.8.2 .......... 20.81 |================================================= GCC 4.9.0 20131208 . 21.53 |=================================================== C-Ray 1.1 Total Time Seconds < Lower Is Better LLVM Clang 3.3 ..... 19.54 |================================================== LLVM Clang 3.4 SVN . 19.94 |=================================================== GCC 4.8.2 .......... 17.49 |============================================= GCC 4.9.0 20131208 . 17.42 |============================================= Parallel BZIP2 Compression 1.1.6 256MB File Compression Seconds < Lower Is Better LLVM Clang 3.3 ..... 5.70 |==================================================== LLVM Clang 3.4 SVN . 5.71 |==================================================== GCC 4.8.2 .......... 4.81 |============================================ FLAC Audio Encoding 1.3.0 WAV To FLAC Seconds < Lower Is Better LLVM Clang 3.3 ..... 5.65 |==================================================== LLVM Clang 3.4 SVN . 4.84 |============================================= GCC 4.8.2 .......... 5.29 |================================================= GCC 4.9.0 20131208 . 4.11 |====================================== LAME MP3 Encoding 3.99.3 WAV To MP3 Seconds < Lower Is Better LLVM Clang 3.3 ..... 12.86 |=================================================== LLVM Clang 3.4 SVN . 11.79 |=============================================== GCC 4.8.2 .......... 12.75 |=================================================== GCC 4.9.0 20131208 . 12.55 |================================================== FFmpeg 2.0 H.264 HD To NTSC DV Seconds < Lower Is Better LLVM Clang 3.3 ..... 11.30 |================================================== LLVM Clang 3.4 SVN . 11.42 |=================================================== GCC 4.8.2 .......... 11.35 |=================================================== GCC 4.9.0 20131208 . 11.28 |================================================== Hierarchical INTegration 1.0 Test: FLOAT QUIPs > Higher Is Better LLVM Clang 3.3 ..... 277549891.07 |==================================== LLVM Clang 3.4 SVN . 230228636.05 |============================== GCC 4.8.2 .......... 337303850.89 |============================================ GCC 4.9.0 20131208 . 340096979.25 |============================================ Hierarchical INTegration 1.0 Test: DOUBLE QUIPs > Higher Is Better LLVM Clang 3.3 ..... 599037509.43 |====================================== LLVM Clang 3.4 SVN . 588678410.65 |====================================== GCC 4.8.2 .......... 679836110.18 |=========================================== GCC 4.9.0 20131208 . 689565776.59 |============================================ NGINX Benchmark 1.0.11 Static Web Page Serving Requests Per Second > Higher Is Better LLVM Clang 3.3 ..... 18991.89 |================================================ LLVM Clang 3.4 SVN . 18974.45 |================================================ GCC 4.8.2 .......... 18948.07 |================================================ GCC 4.9.0 20131208 . 14991.69 |====================================== Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better LLVM Clang 3.3 ..... 14690.90 |================================================ LLVM Clang 3.4 SVN . 14606.91 |================================================ GCC 4.8.2 .......... 14621.88 |================================================ GCC 4.9.0 20131208 . 14553.30 |================================================ N-Queens 1.0 Elapsed Time Seconds < Lower Is Better GCC 4.8.2 .......... 24.99 |=================================================== GCC 4.9.0 20131208 . 24.58 |==================================================