AMD Ryzen Compiler Testing LLVM Clang and GCC compiler benchmarks on AMD Ryzen. Tests by Michael Larabel for a future article on Phoronix. Clang 3.9.1: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI X370 XPOWER GAMING TITANIUM (MS-7A31) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 256GB INTEL SSDPEKKW256G7, Graphics: Sapphire AMD Radeon R9 FURY / NANO 4096MB, Audio: AMD Fiji HDMI/DP, Monitor: DELL P2415Q, Network: Intel I211 Gigabit Connection OS: Ubuntu 17.04, Kernel: 4.10.0-999-generic (x86_64) 20170303, Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: modesetting 1.18.4, OpenGL: 4.5 Mesa 17.0.1- padoka PPA Gallium 0.4 (LLVM 4.0.0), Vulkan: 1.0.39, Compiler: Clang 3.9.1-4ubuntu4 + LLVM 3.9.1, File-System: ext4, Screen Resolution: 3840x2160 Clang 4.0 RC2: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI X370 XPOWER GAMING TITANIUM (MS-7A31) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 256GB INTEL SSDPEKKW256G7, Graphics: Sapphire AMD Radeon R9 FURY / NANO 4096MB, Audio: AMD Fiji HDMI/DP, Monitor: DELL P2415Q, Network: Intel I211 Gigabit Connection OS: Ubuntu 17.04, Kernel: 4.10.0-999-generic (x86_64) 20170303, Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: modesetting 1.18.4, OpenGL: 4.5 Mesa 17.0.1- padoka PPA Gallium 0.4 (LLVM 4.0.0), Vulkan: 1.0.39, Compiler: Clang 4.0.0-+rc2-1 + LLVM 4.0.0, File-System: ext4, Screen Resolution: 3840x2160 GCC 6.3.0: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI X370 XPOWER GAMING TITANIUM (MS-7A31) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 256GB INTEL SSDPEKKW256G7, Graphics: Sapphire AMD Radeon R9 FURY / NANO 4096MB, Audio: AMD Fiji HDMI/DP, Monitor: DELL P2415Q, Network: Intel I211 Gigabit Connection OS: Ubuntu 17.04, Kernel: 4.10.0-999-generic (x86_64) 20170303, Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: modesetting 1.18.4, OpenGL: 4.5 Mesa 17.0.1- padoka PPA Gallium 0.4 (LLVM 4.0.0), Vulkan: 1.0.39, Compiler: GCC 6.3.0, File-System: ext4, Screen Resolution: 3840x2160 GCC 7.0.1 20170305: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI X370 XPOWER GAMING TITANIUM (MS-7A31) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 256GB INTEL SSDPEKKW256G7, Graphics: Sapphire AMD Radeon R9 FURY / NANO 4096MB, Audio: AMD Fiji HDMI/DP, Monitor: DELL P2415Q, Network: Intel I211 Gigabit Connection OS: Ubuntu 17.04, Kernel: 4.10.0-999-generic (x86_64) 20170303, Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: modesetting 1.18.4, OpenGL: 4.5 Mesa 17.0.1- padoka PPA Gallium 0.4 (LLVM 4.0.0), Vulkan: 1.0.39, Compiler: GCC 7.0.1 20170305, File-System: ext4, Screen Resolution: 3840x2160 FFTW 3.3.4 Build: Float + SSE - Size: 2D FFT Size 1024 Mflops > Higher Is Better Clang 3.9.1 ........ 20906 |=================================================== Clang 4.0 RC2 ...... 19140 |=============================================== GCC 6.3.0 .......... 20555 |================================================== GCC 7.0.1 20170305 . 19609 |================================================ Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better Clang 3.9.1 ........ 7.80 |=================================================== Clang 4.0 RC2 ...... 7.86 |=================================================== GCC 6.3.0 .......... 7.91 |==================================================== GCC 7.0.1 20170305 . 7.95 |==================================================== Timed MAFFT Alignment 6.864 Multiple Sequence Alignment Seconds < Lower Is Better Clang 3.9.1 ........ 4.04 |=================================================== Clang 4.0 RC2 ...... 3.92 |================================================= GCC 6.3.0 .......... 3.84 |================================================ GCC 7.0.1 20170305 . 4.14 |==================================================== SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better Clang 3.9.1 ........ 1995.73 |================================================= Clang 4.0 RC2 ...... 1970.20 |================================================ GCC 6.3.0 .......... 1490.17 |===================================== GCC 7.0.1 20170305 . 1524.55 |===================================== SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better Clang 3.9.1 ........ 234.55 |================= Clang 4.0 RC2 ...... 617.40 |============================================== GCC 6.3.0 .......... 670.60 |================================================== GCC 7.0.1 20170305 . 227.79 |================= SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better Clang 3.9.1 ........ 124.97 |======================================== Clang 4.0 RC2 ...... 122.72 |======================================= GCC 6.3.0 .......... 157.57 |================================================== GCC 7.0.1 20170305 . 152.34 |================================================ SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better Clang 3.9.1 ........ 2524.88 |================================================= Clang 4.0 RC2 ...... 2366.09 |============================================== GCC 6.3.0 .......... 2423.85 |=============================================== GCC 7.0.1 20170305 . 2415.97 |=============================================== SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better Clang 3.9.1 ........ 5439.24 |================================================= Clang 4.0 RC2 ...... 5152.18 |============================================== GCC 6.3.0 .......... 3142.53 |============================ GCC 7.0.1 20170305 . 3764.10 |================================== SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better Clang 3.9.1 ........ 1655.00 |================================================= Clang 4.0 RC2 ...... 1592.59 |=============================================== GCC 6.3.0 .......... 1056.29 |=============================== GCC 7.0.1 20170305 . 1062.55 |=============================== TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better Clang 3.9.1 ........ 1037654 |================================================= Clang 4.0 RC2 ...... 959893 |============================================= GCC 6.3.0 .......... 1037247 |================================================= GCC 7.0.1 20170305 . 982850 |============================================== John The Ripper 1.8.0 Test: Blowfish Real C/S > Higher Is Better Clang 3.9.1 ........ 10987 |=================================================== Clang 4.0 RC2 ...... 10736 |================================================== GCC 6.3.0 .......... 10872 |================================================== GCC 7.0.1 20170305 . 10546 |================================================= TTSIOD 3D Renderer 2.3a Phong Rendering With Soft-Shadow Mapping FPS > Higher Is Better Clang 3.9.1 ........ 51.73 |======== Clang 4.0 RC2 ...... 46.26 |======= GCC 6.3.0 .......... 314.14 |================================================== GCC 7.0.1 20170305 . 304.71 |================================================ GraphicsMagick 1.3.19 Operation: Blur Iterations Per Minute > Higher Is Better Clang 3.9.1 ........ 137 |=========================================== Clang 4.0 RC2 ...... 137 |=========================================== GCC 6.3.0 .......... 169 |===================================================== GCC 7.0.1 20170305 . 168 |===================================================== GraphicsMagick 1.3.19 Operation: Sharpen Iterations Per Minute > Higher Is Better Clang 3.9.1 ........ 140 |========================================= Clang 4.0 RC2 ...... 138 |======================================== GCC 6.3.0 .......... 181 |===================================================== GCC 7.0.1 20170305 . 181 |===================================================== GraphicsMagick 1.3.19 Operation: HWB Color Space Iterations Per Minute > Higher Is Better Clang 3.9.1 ........ 180 |======================================== Clang 4.0 RC2 ...... 179 |======================================== GCC 6.3.0 .......... 236 |===================================================== GCC 7.0.1 20170305 . 235 |===================================================== GraphicsMagick 1.3.19 Operation: Local Adaptive Thresholding Iterations Per Minute > Higher Is Better Clang 3.9.1 ........ 134 |===================================================== Clang 4.0 RC2 ...... 126 |================================================== GCC 6.3.0 .......... 128 |=================================================== GCC 7.0.1 20170305 . 128 |=================================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better Clang 3.9.1 ........ 1122.18 |================================================= Clang 4.0 RC2 ...... 1076.24 |=============================================== GCC 6.3.0 .......... 1031.70 |============================================= GCC 7.0.1 20170305 . 1021.94 |============================================= Timed Apache Compilation 2.4.7 Time To Compile Seconds < Lower Is Better Clang 3.9.1 ........ 24.54 |============================================ Clang 4.0 RC2 ...... 25.58 |============================================= GCC 6.3.0 .......... 28.24 |================================================== GCC 7.0.1 20170305 . 28.68 |=================================================== Timed PHP Compilation 5.2.9 Time To Compile Seconds < Lower Is Better Clang 3.9.1 ........ 22.55 |=================================================== Clang 4.0 RC2 ...... 18.37 |========================================== GCC 6.3.0 .......... 22.38 |=================================================== GCC 7.0.1 20170305 . 20.94 |=============================================== C-Ray 1.1 Total Time Seconds < Lower Is Better Clang 3.9.1 ........ 13.46 |=============================================== Clang 4.0 RC2 ...... 14.68 |=================================================== GCC 6.3.0 .......... 8.86 |=============================== GCC 7.0.1 20170305 . 9.84 |================================== Stockfish 2014-11-26 Total Time ms < Lower Is Better Clang 3.9.1 ........ 3976 |================================================== Clang 4.0 RC2 ...... 4145 |==================================================== GCC 6.3.0 .......... 3975 |================================================== GCC 7.0.1 20170305 . 3984 |================================================== Bullet Physics Engine 2.81 Test: Raytests Seconds < Lower Is Better Clang 3.9.1 ........ 2.76 |================================================ Clang 4.0 RC2 ...... 2.95 |==================================================== GCC 6.3.0 .......... 2.72 |================================================ GCC 7.0.1 20170305 . 2.96 |==================================================== Bullet Physics Engine 2.81 Test: 3000 Fall Seconds < Lower Is Better Clang 3.9.1 ........ 4.62 |================================================= Clang 4.0 RC2 ...... 4.88 |==================================================== GCC 6.3.0 .......... 4.54 |================================================ GCC 7.0.1 20170305 . 4.56 |================================================= Bullet Physics Engine 2.81 Test: 1000 Stack Seconds < Lower Is Better Clang 3.9.1 ........ 5.21 |================================================= Clang 4.0 RC2 ...... 5.52 |==================================================== GCC 6.3.0 .......... 5.18 |================================================= GCC 7.0.1 20170305 . 5.16 |================================================= Bullet Physics Engine 2.81 Test: 1000 Convex Seconds < Lower Is Better Clang 3.9.1 ........ 4.57 |========================================= Clang 4.0 RC2 ...... 5.01 |============================================= GCC 6.3.0 .......... 4.53 |======================================== GCC 7.0.1 20170305 . 5.82 |==================================================== Bullet Physics Engine 2.81 Test: 136 Ragdolls Seconds < Lower Is Better Clang 3.9.1 ........ 2.98 |================================================= Clang 4.0 RC2 ...... 3.15 |==================================================== GCC 6.3.0 .......... 2.84 |=============================================== GCC 7.0.1 20170305 . 2.84 |=============================================== Bullet Physics Engine 2.81 Test: Prim Trimesh Seconds < Lower Is Better Clang 3.9.1 ........ 1.00 |================================================== Clang 4.0 RC2 ...... 1.04 |==================================================== GCC 6.3.0 .......... 0.96 |================================================ GCC 7.0.1 20170305 . 0.96 |================================================ Bullet Physics Engine 2.81 Test: Convex Trimesh Seconds < Lower Is Better Clang 3.9.1 ........ 1.15 |============================================== Clang 4.0 RC2 ...... 1.25 |================================================== GCC 6.3.0 .......... 1.14 |============================================== GCC 7.0.1 20170305 . 1.30 |==================================================== FLAC Audio Encoding 1.3.1 WAV To FLAC Seconds < Lower Is Better Clang 3.9.1 ........ 5.83 |================================================= Clang 4.0 RC2 ...... 5.98 |================================================== GCC 6.3.0 .......... 6.23 |==================================================== GCC 7.0.1 20170305 . 6.22 |==================================================== LAME MP3 Encoding 3.99.3 WAV To MP3 Seconds < Lower Is Better Clang 3.9.1 ........ 11.82 |=================================================== Clang 4.0 RC2 ...... 11.31 |================================================= GCC 6.3.0 .......... 9.57 |========================================= GCC 7.0.1 20170305 . 9.61 |========================================= FFmpeg 2.8.1 H.264 HD To NTSC DV Seconds < Lower Is Better Clang 3.9.1 ........ 12.65 |=================================================== Clang 4.0 RC2 ...... 11.64 |=============================================== GCC 6.3.0 .......... 11.69 |=============================================== GCC 7.0.1 20170305 . 11.67 |=============================================== OpenSSL 1.0.1g RSA 4096-bit Performance Signs Per Second > Higher Is Better Clang 3.9.1 ........ 982.40 |================================================== Clang 4.0 RC2 ...... 985.23 |================================================== GCC 6.3.0 .......... 986.73 |================================================== GCC 7.0.1 20170305 . 987.67 |================================================== libjpeg-turbo tjbench 1.5.1 Test: Decompression Throughput Megapixels/sec > Higher Is Better Clang 3.9.1 ........ 165.10 |================================================== Clang 4.0 RC2 ...... 154.94 |=============================================== GCC 6.3.0 .......... 165.21 |================================================== GCC 7.0.1 20170305 . 165.04 |================================================== Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better Clang 3.9.1 ........ 1726817.29 |========================================= Clang 4.0 RC2 ...... 1693145.17 |======================================== GCC 6.3.0 .......... 1795042.52 |========================================== GCC 7.0.1 20170305 . 1955581.98 |============================================== Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better Clang 3.9.1 ........ 1295713.67 |============================================ Clang 4.0 RC2 ...... 1269134.83 |=========================================== GCC 6.3.0 .......... 1341140.63 |============================================== GCC 7.0.1 20170305 . 1349107.13 |============================================== Hierarchical INTegration 1.0 Test: FLOAT QUIPs > Higher Is Better Clang 3.9.1 ........ 276270687.22 |======================================== Clang 4.0 RC2 ...... 284610577.96 |========================================= GCC 6.3.0 .......... 306973819.40 |============================================ GCC 7.0.1 20170305 . 307202265.16 |============================================ Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better Clang 3.9.1 ........ 19724.02 |============================================ Clang 4.0 RC2 ...... 19421.24 |=========================================== GCC 6.3.0 .......... 21441.96 |================================================ GCC 7.0.1 20170305 . 20855.83 |===============================================