LLVM Clang Benchmarks On Threadripper Tests for a future article on Phoronix. LLVM Clang 4.0: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (32 Cores), Motherboard: Gigabyte X399 AORUS Gaming 7, Chipset: AMD Device 1450, Memory: 32768MB, Disk: 120GB Force MP500, Graphics: XFX AMD Radeon R9 290/390 4096MB, Audio: Realtek Generic, Monitor: Acer B286HK, Network: Qualcomm Atheros Device e0b1 + Intel Wireless 8265 / 8275 OS: Ubuntu 17.04, Kernel: 4.10.0-33-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.7 Gallium 0.4 (LLVM 4.0.0), Compiler: Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 3840x2160 LLVM Clang 5.0: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (32 Cores), Motherboard: Gigabyte X399 AORUS Gaming 7, Chipset: AMD Device 1450, Memory: 32768MB, Disk: 120GB Force MP500, Graphics: XFX AMD Radeon R9 290/390 4096MB, Audio: Realtek Generic, Monitor: Acer B286HK, Network: Qualcomm Atheros Device e0b1 + Intel Wireless 8265 / 8275 OS: Ubuntu 17.04, Kernel: 4.10.0-33-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.7 Gallium 0.4 (LLVM 4.0.0), Compiler: Clang 5.0.0-svn312333-1~exp1, File-System: ext4, Screen Resolution: 3840x2160 LLVM Clang 6.0 SVN: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (32 Cores), Motherboard: Gigabyte X399 AORUS Gaming 7, Chipset: AMD Device 1450, Memory: 32768MB, Disk: 120GB Force MP500, Graphics: XFX AMD Radeon R9 290/390 4096MB, Audio: Realtek Generic, Monitor: Acer B286HK, Network: Qualcomm Atheros Device e0b1 + Intel Wireless 8265 / 8275 OS: Ubuntu 17.04, Kernel: 4.10.0-33-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.7 Gallium 0.4 (LLVM 4.0.0), Compiler: Clang 6.0.0-svn312423-1~exp1, File-System: ext4, Screen Resolution: 3840x2160 Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better LLVM Clang 4.0 ..... 28119.35 |================================================ LLVM Clang 5.0 ..... 27851.33 |================================================ LLVM Clang 6.0 SVN . 28078.50 |================================================ Botan 1.11.6 Test: Tiger Mbytes/s > Higher Is Better LLVM Clang 4.0 ..... 487.40 |================================================== LLVM Clang 5.0 ..... 492.13 |================================================== LLVM Clang 6.0 SVN . 481.49 |================================================= Botan 1.11.6 Test: KASUMI Mbytes/s > Higher Is Better LLVM Clang 4.0 ..... 89.30 |=================================================== LLVM Clang 5.0 ..... 89.92 |=================================================== LLVM Clang 6.0 SVN . 87.78 |================================================== Botan 1.11.6 Test: Twofish Mbytes/s > Higher Is Better LLVM Clang 4.0 ..... 225.43 |================================================== LLVM Clang 5.0 ..... 227.59 |================================================== LLVM Clang 6.0 SVN . 224.09 |================================================= Botan 1.11.6 Test: CAST-256 Mbytes/s > Higher Is Better LLVM Clang 4.0 ..... 143.93 |================================================= LLVM Clang 5.0 ..... 145.68 |================================================== LLVM Clang 6.0 SVN . 142.97 |================================================= Botan 1.11.6 Test: X9.19-MAC Mbytes/s > Higher Is Better LLVM Clang 4.0 ..... 91.87 |================================================== LLVM Clang 5.0 ..... 92.80 |=================================================== LLVM Clang 6.0 SVN . 91.05 |================================================== Bullet Physics Engine 2.81 Test: Raytests Seconds < Lower Is Better LLVM Clang 4.0 ..... 2.61 |=================================================== LLVM Clang 5.0 ..... 2.67 |==================================================== LLVM Clang 6.0 SVN . 2.58 |================================================== Bullet Physics Engine 2.81 Test: 3000 Fall Seconds < Lower Is Better LLVM Clang 4.0 ..... 4.23 |=================================================== LLVM Clang 5.0 ..... 4.29 |==================================================== LLVM Clang 6.0 SVN . 4.23 |=================================================== Bullet Physics Engine 2.81 Test: 1000 Stack Seconds < Lower Is Better LLVM Clang 4.0 ..... 4.91 |=================================================== LLVM Clang 5.0 ..... 4.96 |==================================================== LLVM Clang 6.0 SVN . 4.84 |=================================================== Bullet Physics Engine 2.81 Test: 1000 Convex Seconds < Lower Is Better LLVM Clang 4.0 ..... 4.48 |=================================================== LLVM Clang 5.0 ..... 4.53 |==================================================== LLVM Clang 6.0 SVN . 4.33 |================================================== Bullet Physics Engine 2.81 Test: 136 Ragdolls Seconds < Lower Is Better LLVM Clang 4.0 ..... 2.70 |=================================================== LLVM Clang 5.0 ..... 2.73 |==================================================== LLVM Clang 6.0 SVN . 2.69 |=================================================== Bullet Physics Engine 2.81 Test: Prim Trimesh Seconds < Lower Is Better LLVM Clang 4.0 ..... 0.90 |=================================================== LLVM Clang 5.0 ..... 0.91 |==================================================== LLVM Clang 6.0 SVN . 0.88 |================================================== Bullet Physics Engine 2.81 Test: Convex Trimesh Seconds < Lower Is Better LLVM Clang 4.0 ..... 1.08 |=================================================== LLVM Clang 5.0 ..... 1.10 |==================================================== LLVM Clang 6.0 SVN . 1.07 |=================================================== C-Ray 1.1 Total Time Seconds < Lower Is Better LLVM Clang 4.0 ..... 6.65 |==================================================== LLVM Clang 5.0 ..... 6.24 |================================================= LLVM Clang 6.0 SVN . 6.61 |==================================================== Crafty 23.4 Elapsed Time Seconds < Lower Is Better LLVM Clang 4.0 ..... 65.30 |================================================== LLVM Clang 5.0 ..... 65.95 |=================================================== LLVM Clang 6.0 SVN . 66.11 |=================================================== FFmpeg 3.3.3 H.264 HD To NTSC DV Seconds < Lower Is Better LLVM Clang 4.0 ..... 7.62 |==================================================== LLVM Clang 5.0 ..... 7.58 |==================================================== LLVM Clang 6.0 SVN . 7.62 |==================================================== FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 4096 Mflops > Higher Is Better LLVM Clang 4.0 . 14940 |================================================= LLVM Clang 5.0 . 16893 |======================================================= FLAC Audio Encoding 1.3.1 WAV To FLAC Seconds < Lower Is Better LLVM Clang 4.0 ..... 6.25 |==================================================== LLVM Clang 5.0 ..... 6.27 |==================================================== LLVM Clang 6.0 SVN . 6.20 |=================================================== GraphicsMagick 1.3.19 Operation: Blur Iterations Per Minute > Higher Is Better LLVM Clang 4.0 ..... 151 |===================================================== LLVM Clang 5.0 ..... 150 |===================================================== LLVM Clang 6.0 SVN . 150 |===================================================== GraphicsMagick 1.3.19 Operation: Sharpen Iterations Per Minute > Higher Is Better LLVM Clang 4.0 ..... 168 |===================================================== LLVM Clang 5.0 ..... 163 |=================================================== LLVM Clang 6.0 SVN . 164 |==================================================== GraphicsMagick 1.3.19 Operation: HWB Color Space Iterations Per Minute > Higher Is Better LLVM Clang 4.0 ..... 200 |===================================================== LLVM Clang 5.0 ..... 191 |=================================================== LLVM Clang 6.0 SVN . 192 |=================================================== GraphicsMagick 1.3.19 Operation: Local Adaptive Thresholding Iterations Per Minute > Higher Is Better LLVM Clang 4.0 ..... 146 |===================================================== LLVM Clang 5.0 ..... 143 |==================================================== LLVM Clang 6.0 SVN . 143 |==================================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better LLVM Clang 4.0 ..... 1314.69 |================================================= LLVM Clang 5.0 ..... 1317.11 |================================================= LLVM Clang 6.0 SVN . 1301.55 |================================================ John The Ripper 1.8.0 Test: Blowfish Real C/S > Higher Is Better LLVM Clang 4.0 ..... 25728 |=================================================== LLVM Clang 5.0 ..... 25557 |=================================================== LLVM Clang 6.0 SVN . 24179 |================================================ LAME MP3 Encoding 3.99.3 WAV To MP3 Seconds < Lower Is Better LLVM Clang 4.0 ..... 8.78 |================================================== LLVM Clang 5.0 ..... 9.03 |==================================================== LLVM Clang 6.0 SVN . 9.07 |==================================================== libjpeg-turbo tjbench 1.5.1 Test: Decompression Throughput Megapixels/sec > Higher Is Better LLVM Clang 4.0 ..... 176.55 |================================================== LLVM Clang 5.0 ..... 174.40 |================================================= LLVM Clang 6.0 SVN . 178.18 |================================================== lzbench 2017-08-08 Test: XZ 0 - Process: Compression MB/s > Higher Is Better LLVM Clang 4.0 ..... 31 |==================================================== LLVM Clang 5.0 ..... 32 |====================================================== LLVM Clang 6.0 SVN . 32 |====================================================== lzbench 2017-08-08 Test: XZ 0 - Process: Decompression MB/s > Higher Is Better LLVM Clang 4.0 ..... 95 |====================================================== LLVM Clang 5.0 ..... 92 |==================================================== LLVM Clang 6.0 SVN . 94 |===================================================== lzbench 2017-08-08 Test: Zstd 1 - Process: Compression MB/s > Higher Is Better LLVM Clang 4.0 ..... 454 |===================================================== LLVM Clang 5.0 ..... 444 |==================================================== LLVM Clang 6.0 SVN . 442 |==================================================== lzbench 2017-08-08 Test: Zstd 1 - Process: Decompression MB/s > Higher Is Better LLVM Clang 4.0 ..... 953 |===================================================== LLVM Clang 5.0 ..... 947 |===================================================== LLVM Clang 6.0 SVN . 928 |==================================================== lzbench 2017-08-08 Test: Brotli 0 - Process: Compression MB/s > Higher Is Better LLVM Clang 4.0 ..... 468 |===================================================== LLVM Clang 5.0 ..... 470 |===================================================== LLVM Clang 6.0 SVN . 457 |==================================================== lzbench 2017-08-08 Test: Brotli 0 - Process: Decompression MB/s > Higher Is Better LLVM Clang 4.0 ..... 479 |===================================================== LLVM Clang 5.0 ..... 461 |=================================================== LLVM Clang 6.0 SVN . 463 |=================================================== lzbench 2017-08-08 Test: Libdeflate 1 - Process: Compression MB/s > Higher Is Better LLVM Clang 4.0 ..... 188 |=============================================== LLVM Clang 5.0 ..... 211 |===================================================== LLVM Clang 6.0 SVN . 206 |==================================================== lzbench 2017-08-08 Test: Libdeflate 1 - Process: Decompression MB/s > Higher Is Better LLVM Clang 4.0 ..... 1044 |=================================================== LLVM Clang 5.0 ..... 1047 |==================================================== LLVM Clang 6.0 SVN . 1055 |==================================================== Minion 1.8 Benchmark: Graceful Seconds < Lower Is Better LLVM Clang 4.0 ..... 43.11 |================================================== LLVM Clang 5.0 ..... 43.18 |================================================== LLVM Clang 6.0 SVN . 44.24 |=================================================== Minion 1.8 Benchmark: Solitaire Seconds < Lower Is Better LLVM Clang 4.0 ..... 70.17 |=================================================== LLVM Clang 5.0 ..... 69.57 |=================================================== LLVM Clang 6.0 SVN . 69.10 |================================================== Minion 1.8 Benchmark: Quasigroup Seconds < Lower Is Better LLVM Clang 4.0 ..... 114.62 |=============================================== LLVM Clang 5.0 ..... 113.35 |============================================== LLVM Clang 6.0 SVN . 122.87 |================================================== OpenSSL 1.0.1g RSA 4096-bit Performance Signs Per Second > Higher Is Better LLVM Clang 4.0 ..... 2195.77 |================================================= LLVM Clang 5.0 ..... 2192.97 |================================================= LLVM Clang 6.0 SVN . 2187.97 |================================================= PostgreSQL pgbench 9.6.3 Scaling: Mostly RAM - Test: Normal Load - Mode: Read Write TPS > Higher Is Better LLVM Clang 4.0 ..... 7453.41 |================================================= LLVM Clang 5.0 ..... 5407.99 |==================================== LLVM Clang 6.0 SVN . 4821.63 |================================ PostgreSQL pgbench 9.6.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better LLVM Clang 4.0 ..... 6061.93 |==================================== LLVM Clang 5.0 ..... 8179.46 |================================================= LLVM Clang 6.0 SVN . 4970.37 |============================== PostgreSQL pgbench 9.6.3 Scaling: Mostly RAM - Test: Single Thread - Mode: Read Write TPS > Higher Is Better LLVM Clang 4.0 ..... 616.70 |=========================================== LLVM Clang 5.0 ..... 709.61 |================================================== LLVM Clang 6.0 SVN . 699.93 |================================================= PostgreSQL pgbench 9.6.3 Scaling: Buffer Test - Test: Single Thread - Mode: Read Write TPS > Higher Is Better LLVM Clang 4.0 ..... 635.53 |========================================= LLVM Clang 5.0 ..... 736.49 |=============================================== LLVM Clang 6.0 SVN . 777.37 |================================================== Redis 3.0.1 Test: LPOP Requests Per Second > Higher Is Better LLVM Clang 4.0 ..... 2283919.29 |============================================== LLVM Clang 5.0 ..... 2238715.31 |============================================= LLVM Clang 6.0 SVN . 2230607.17 |============================================= Redis 3.0.1 Test: SADD Requests Per Second > Higher Is Better LLVM Clang 4.0 ..... 1886953.71 |============================================== LLVM Clang 5.0 ..... 1812313.30 |============================================ LLVM Clang 6.0 SVN . 1807468.11 |============================================ Redis 3.0.1 Test: LPUSH Requests Per Second > Higher Is Better LLVM Clang 4.0 ..... 1650591.71 |============================================ LLVM Clang 5.0 ..... 1734083.96 |============================================== LLVM Clang 6.0 SVN . 1666925.50 |============================================ Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better LLVM Clang 4.0 ..... 2251018.00 |============================================== LLVM Clang 5.0 ..... 2139233.56 |============================================ LLVM Clang 6.0 SVN . 2113308.38 |=========================================== Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better LLVM Clang 4.0 ..... 1702676.77 |============================================== LLVM Clang 5.0 ..... 1582735.00 |=========================================== LLVM Clang 6.0 SVN . 1667028.71 |============================================= SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better LLVM Clang 4.0 ..... 539.81 |================================================== LLVM Clang 5.0 ..... 530.74 |================================================= LLVM Clang 6.0 SVN . 530.50 |================================================= SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better LLVM Clang 4.0 ..... 133.49 |================================================== LLVM Clang 5.0 ..... 131.92 |================================================= LLVM Clang 6.0 SVN . 131.63 |================================================= SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better LLVM Clang 4.0 ..... 172.49 |================================================== LLVM Clang 5.0 ..... 169.46 |================================================= LLVM Clang 6.0 SVN . 168.73 |================================================= SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better LLVM Clang 4.0 ..... 743.10 |================================================== LLVM Clang 5.0 ..... 718.11 |================================================ LLVM Clang 6.0 SVN . 726.82 |================================================= SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better LLVM Clang 4.0 ..... 481.51 |================================================== LLVM Clang 5.0 ..... 478.37 |================================================== LLVM Clang 6.0 SVN . 475.28 |================================================= SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better LLVM Clang 4.0 ..... 1168.43 |================================================= LLVM Clang 5.0 ..... 1155.87 |================================================ LLVM Clang 6.0 SVN . 1150.05 |================================================ SQLite 3.8.10.2 Test Target: Default Test Directory Seconds < Lower Is Better LLVM Clang 4.0 ..... 13.81 |========================== LLVM Clang 5.0 ..... 26.70 |=================================================== LLVM Clang 6.0 SVN . 13.86 |========================== Stockfish 2014-11-26 Total Time ms < Lower Is Better LLVM Clang 4.0 ..... 3422 |==================================================== LLVM Clang 5.0 ..... 3440 |==================================================== LLVM Clang 6.0 SVN . 3418 |==================================================== Timed Apache Compilation 2.4.7 Time To Compile Seconds < Lower Is Better LLVM Clang 4.0 ..... 22.25 |=================================================== LLVM Clang 5.0 ..... 19.95 |============================================== LLVM Clang 6.0 SVN . 21.51 |================================================= Timed LLVM Compilation 4.0.1 Time To Compile Seconds < Lower Is Better LLVM Clang 4.0 ..... 206.35 |================================================ LLVM Clang 5.0 ..... 207.42 |================================================= LLVM Clang 6.0 SVN . 213.26 |================================================== Timed PHP Compilation 5.2.9 Time To Compile Seconds < Lower Is Better LLVM Clang 4.0 ..... 12.19 |=================================================== LLVM Clang 5.0 ..... 11.13 |=============================================== LLVM Clang 6.0 SVN . 11.93 |================================================== TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better LLVM Clang 4.0 ..... 1134709 |============================================== LLVM Clang 5.0 ..... 1208599 |================================================= LLVM Clang 6.0 SVN . 1174403 |================================================ WavPack Audio Encoding 5.1 WAV To WavPack Seconds < Lower Is Better LLVM Clang 4.0 ..... 6.02 |==================================================== LLVM Clang 5.0 ..... 6.02 |==================================================== LLVM Clang 6.0 SVN . 6.01 |==================================================== x264 2017-05-19 H.264 Video Encoding Frames Per Second > Higher Is Better LLVM Clang 4.0 ..... 384.49 |================================================== LLVM Clang 5.0 ..... 380.24 |================================================= LLVM Clang 6.0 SVN . 383.96 |==================================================