LLVM Clang vs. GCC vs. AOCC - AMD Threadripper AMD Ryzen Threadripper 1950X compiler benchmarks on Ubuntu Linux for a future article on Phoronix. Clang 6.0.0: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Family 17h, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Killer E2500 Gigabit + Intel Wireless 8265 / 8275 OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180518, Desktop: GNOME Shell 3.28.1, Display Driver: modesetting 1.19.6, Compiler: Clang 6.0.0-1ubuntu2, File-System: ext4, Screen Resolution: 1920x1080 Clang 5.0.1: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Family 17h, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Killer E2500 Gigabit + Intel Wireless 8265 / 8275 OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180518, Desktop: GNOME Shell 3.28.1, Display Driver: modesetting 1.19.6, Compiler: Clang 5.0.1-4, File-System: ext4, Screen Resolution: 1920x1080 AMD AOCC 1.2: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Family 17h, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Killer E2500 Gigabit + Intel Wireless 8265 / 8275 OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180518, Desktop: GNOME Shell 3.28.1, Display Driver: modesetting 1.19.6, Compiler: Clang 6.0.0, File-System: ext4, Screen Resolution: 1920x1080 GCC 7.3.0: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Family 17h, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Killer E2500 Gigabit + Intel Wireless 8265 / 8275 OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180518, Desktop: GNOME Shell 3.28.1, Display Driver: modesetting 1.19.6, Compiler: GCC 7.3.0, File-System: ext4, Screen Resolution: 1920x1080 Clang 7.0 SVN: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Family 17h, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Killer E2500 Gigabit + Intel Wireless 8265 / 8275 OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180518, Desktop: GNOME Shell 3.28.1, Display Driver: modesetting 1.19.6, Compiler: Clang 7.0.0-, File-System: ext4, Screen Resolution: 1920x1080 GCC 8.1.0: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Family 17h, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Killer E2500 Gigabit + Intel Wireless 8265 / 8275 OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180518, Desktop: GNOME Shell 3.28.1, Display Driver: modesetting 1.19.6, Compiler: GCC 8.1.0, File-System: ext4, Screen Resolution: 1920x1080 FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 128 Mflops > Higher Is Better Clang 6.0.0 ... 32214 |======================================================= Clang 5.0.1 ... 32078 |======================================================= AMD AOCC 1.2 .. 32840 |======================================================== GCC 7.3.0 ..... 32011 |======================================================= Clang 7.0 SVN . 31854 |====================================================== GCC 8.1.0 ..... 31432 |====================================================== FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 1024 Mflops > Higher Is Better Clang 6.0.0 ... 20954 |============================================= Clang 5.0.1 ... 21016 |============================================= AMD AOCC 1.2 .. 25594 |====================================================== GCC 7.3.0 ..... 26023 |======================================================= Clang 7.0 SVN . 25005 |===================================================== GCC 8.1.0 ..... 26323 |======================================================== FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 4096 Mflops > Higher Is Better Clang 6.0.0 ... 14870 |=================================================== Clang 5.0.1 ... 15795 |====================================================== AMD AOCC 1.2 .. 15799 |====================================================== GCC 7.3.0 ..... 16142 |======================================================= Clang 7.0 SVN . 15293 |==================================================== GCC 8.1.0 ..... 16439 |======================================================== Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better Clang 6.0.0 ... 5.86 |====================================================== Clang 5.0.1 ... 5.79 |===================================================== AMD AOCC 1.2 .. 5.89 |====================================================== GCC 7.3.0 ..... 5.91 |====================================================== Clang 7.0 SVN . 5.89 |====================================================== GCC 8.1.0 ..... 6.24 |========================================================= SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better Clang 6.0.0 ... 2252.68 |==================================================== Clang 5.0.1 ... 2134.62 |================================================= AMD AOCC 1.2 .. 2280.35 |==================================================== GCC 7.3.0 ..... 2281.79 |===================================================== Clang 7.0 SVN . 2346.84 |====================================================== GCC 8.1.0 ..... 2139.10 |================================================= SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better Clang 6.0.0 ... 699.08 |======================================================= Clang 5.0.1 ... 702.57 |======================================================= AMD AOCC 1.2 .. 560.99 |============================================ GCC 7.3.0 ..... 246.87 |=================== Clang 7.0 SVN . 698.96 |======================================================= GCC 8.1.0 ..... 700.74 |======================================================= SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better Clang 6.0.0 ... 271.71 |======================================================= Clang 5.0.1 ... 268.55 |====================================================== AMD AOCC 1.2 .. 269.38 |====================================================== GCC 7.3.0 ..... 272.61 |======================================================= Clang 7.0 SVN . 269.45 |====================================================== GCC 8.1.0 ..... 272.04 |======================================================= SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better Clang 6.0.0 ... 2987.71 |=================================================== Clang 5.0.1 ... 2779.30 |================================================ AMD AOCC 1.2 .. 3133.00 |====================================================== GCC 7.3.0 ..... 2881.26 |================================================== Clang 7.0 SVN . 3095.66 |===================================================== GCC 8.1.0 ..... 2744.86 |=============================================== SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better Clang 6.0.0 ... 5481.16 |================================================== Clang 5.0.1 ... 5136.42 |=============================================== AMD AOCC 1.2 .. 5615.72 |==================================================== GCC 7.3.0 ..... 5871.64 |====================================================== Clang 7.0 SVN . 5845.14 |====================================================== GCC 8.1.0 ..... 4838.89 |============================================= SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better Clang 6.0.0 ... 1823.73 |============================================== Clang 5.0.1 ... 1804.22 |============================================== AMD AOCC 1.2 .. 1822.68 |============================================== GCC 7.3.0 ..... 2136.59 |====================================================== Clang 7.0 SVN . 1824.96 |============================================== GCC 8.1.0 ..... 2138.96 |====================================================== TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better Clang 6.0.0 ... 1181496 |====================================================== Clang 5.0.1 ... 1160574 |===================================================== AMD AOCC 1.2 .. 1183456 |====================================================== GCC 7.3.0 ..... 1120418 |=================================================== Clang 7.0 SVN . 1143195 |==================================================== GCC 8.1.0 ..... 1090709 |================================================== TTSIOD 3D Renderer 2.3a Phong Rendering With Soft-Shadow Mapping FPS > Higher Is Better Clang 6.0.0 ... 412.54 |=========================================== Clang 5.0.1 ... 390.91 |========================================= GCC 7.3.0 ..... 508.56 |===================================================== Clang 7.0 SVN . 421.56 |============================================ GCC 8.1.0 ..... 525.63 |======================================================= GraphicsMagick 1.3.28 Operation: Blur Iterations Per Minute > Higher Is Better Clang 6.0.0 ... 160 |================================================== Clang 5.0.1 ... 156 |================================================= AMD AOCC 1.2 .. 159 |================================================== GCC 7.3.0 ..... 185 |========================================================== Clang 7.0 SVN . 159 |================================================== GCC 8.1.0 ..... 184 |========================================================== GraphicsMagick 1.3.28 Operation: Sharpen Iterations Per Minute > Higher Is Better Clang 6.0.0 ... 181 |============================================== Clang 5.0.1 ... 178 |============================================== AMD AOCC 1.2 .. 180 |============================================== GCC 7.3.0 ..... 226 |========================================================== Clang 7.0 SVN . 180 |============================================== GCC 8.1.0 ..... 223 |========================================================= GraphicsMagick 1.3.28 Operation: Resizing Iterations Per Minute > Higher Is Better Clang 6.0.0 ... 200 |============================================= Clang 5.0.1 ... 194 |============================================ AMD AOCC 1.2 .. 200 |============================================= GCC 7.3.0 ..... 254 |========================================================== Clang 7.0 SVN . 199 |============================================= GCC 8.1.0 ..... 255 |========================================================== GraphicsMagick 1.3.28 Operation: HWB Color Space Iterations Per Minute > Higher Is Better Clang 6.0.0 ... 209 |=============================================== Clang 5.0.1 ... 203 |============================================== AMD AOCC 1.2 .. 210 |=============================================== GCC 7.3.0 ..... 257 |========================================================== Clang 7.0 SVN . 209 |=============================================== GCC 8.1.0 ..... 254 |========================================================= GraphicsMagick 1.3.28 Operation: Local Adaptive Thresholding Iterations Per Minute > Higher Is Better Clang 6.0.0 ... 143 |========================================================== Clang 5.0.1 ... 142 |========================================================== AMD AOCC 1.2 .. 142 |========================================================== GCC 7.3.0 ..... 141 |========================================================= Clang 7.0 SVN . 143 |========================================================== GCC 8.1.0 ..... 137 |======================================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better Clang 6.0.0 ... 1344.50 |====================================================== Clang 5.0.1 ... 1207.08 |================================================ AMD AOCC 1.2 .. 1188.58 |================================================ GCC 7.3.0 ..... 1206.99 |================================================ Clang 7.0 SVN . 1300.63 |==================================================== GCC 8.1.0 ..... 1254.34 |================================================== Stockfish 9 Total Time Nodes Per Second > Higher Is Better Clang 6.0.0 ... 43157084 |===================================================== Clang 5.0.1 ... 42951025 |===================================================== GCC 7.3.0 ..... 40672888 |================================================== Clang 7.0 SVN . 43167201 |===================================================== GCC 8.1.0 ..... 41722472 |=================================================== ebizzy 0.3 Records/s > Higher Is Better Clang 6.0.0 ... 846431 |==================================================== Clang 5.0.1 ... 860625 |===================================================== AMD AOCC 1.2 .. 857598 |==================================================== GCC 7.3.0 ..... 851501 |==================================================== Clang 7.0 SVN . 900984 |======================================================= GCC 8.1.0 ..... 793887 |================================================ Timed LLVM Compilation 4.0.1 Time To Compile Seconds < Lower Is Better Clang 6.0.0 ... 218.02 |====================================== Clang 5.0.1 ... 215.58 |====================================== AMD AOCC 1.2 .. 312.34 |======================================================= Clang 7.0 SVN . 239.30 |========================================== Timed PHP Compilation 7.1.9 Time To Compile Seconds < Lower Is Better Clang 6.0.0 ... 83.15 |================================= Clang 5.0.1 ... 77.52 |=============================== AMD AOCC 1.2 .. 138.64 |======================================================= GCC 7.3.0 ..... 57.48 |======================= Clang 7.0 SVN . 94.52 |===================================== GCC 8.1.0 ..... 60.19 |======================== C-Ray 1.1 Total Time Seconds < Lower Is Better Clang 6.0.0 ... 6.64 |========================================================= Clang 5.0.1 ... 6.24 |====================================================== AMD AOCC 1.2 .. 6.59 |========================================================= GCC 7.3.0 ..... 4.39 |====================================== Clang 7.0 SVN . 6.36 |======================================================= GCC 8.1.0 ..... 3.71 |================================ AOBench Size: 2048 x 2048 - Total Time Seconds < Lower Is Better Clang 6.0.0 ... 42.91 |======================================================== Clang 5.0.1 ... 42.52 |======================================================= AMD AOCC 1.2 .. 41.31 |====================================================== GCC 7.3.0 ..... 39.66 |==================================================== Clang 7.0 SVN . 42.18 |======================================================= GCC 8.1.0 ..... 40.45 |===================================================== Bullet Physics Engine 2.81 Test: Raytests Seconds < Lower Is Better Clang 6.0.0 ... 2.58 |======================================================= Clang 5.0.1 ... 2.58 |======================================================= AMD AOCC 1.2 .. 2.57 |======================================================= GCC 7.3.0 ..... 2.68 |========================================================= Clang 7.0 SVN . 2.49 |===================================================== GCC 8.1.0 ..... 2.46 |==================================================== Bullet Physics Engine 2.81 Test: 3000 Fall Seconds < Lower Is Better Clang 6.0.0 ... 4.19 |========================================================= Clang 5.0.1 ... 4.12 |======================================================== AMD AOCC 1.2 .. 4.14 |======================================================== GCC 7.3.0 ..... 4.15 |======================================================== Clang 7.0 SVN . 4.11 |======================================================== GCC 8.1.0 ..... 4.03 |======================================================= Bullet Physics Engine 2.81 Test: 1000 Stack Seconds < Lower Is Better Clang 6.0.0 ... 4.83 |========================================================= Clang 5.0.1 ... 4.74 |======================================================== AMD AOCC 1.2 .. 4.83 |========================================================= GCC 7.3.0 ..... 4.82 |========================================================= Clang 7.0 SVN . 4.80 |========================================================= GCC 8.1.0 ..... 4.59 |====================================================== Bullet Physics Engine 2.81 Test: 1000 Convex Seconds < Lower Is Better Clang 6.0.0 ... 4.24 |=============================================== Clang 5.0.1 ... 4.31 |================================================ AMD AOCC 1.2 .. 4.30 |================================================ GCC 7.3.0 ..... 5.10 |========================================================= Clang 7.0 SVN . 4.20 |=============================================== GCC 8.1.0 ..... 4.19 |=============================================== Bullet Physics Engine 2.81 Test: 136 Ragdolls Seconds < Lower Is Better Clang 6.0.0 ... 2.53 |======================================================== Clang 5.0.1 ... 2.56 |========================================================= AMD AOCC 1.2 .. 2.51 |======================================================== GCC 7.3.0 ..... 2.46 |======================================================= Clang 7.0 SVN . 2.55 |========================================================= GCC 8.1.0 ..... 2.42 |====================================================== Bullet Physics Engine 2.81 Test: Prim Trimesh Seconds < Lower Is Better Clang 6.0.0 ... 0.89 |======================================================== Clang 5.0.1 ... 0.91 |========================================================= AMD AOCC 1.2 .. 0.88 |======================================================= GCC 7.3.0 ..... 0.90 |======================================================== Clang 7.0 SVN . 0.88 |======================================================= GCC 8.1.0 ..... 0.89 |======================================================== Bullet Physics Engine 2.81 Test: Convex Trimesh Seconds < Lower Is Better Clang 6.0.0 ... 1.08 |==================================================== Clang 5.0.1 ... 1.08 |==================================================== AMD AOCC 1.2 .. 1.07 |==================================================== GCC 7.3.0 ..... 1.18 |========================================================= Clang 7.0 SVN . 1.06 |=================================================== GCC 8.1.0 ..... 1.05 |=================================================== FLAC Audio Encoding 1.3.2 WAV To FLAC Seconds < Lower Is Better Clang 6.0.0 ... 8.94 |=================================================== Clang 5.0.1 ... 9.09 |==================================================== AMD AOCC 1.2 .. 9.24 |===================================================== GCC 7.3.0 ..... 9.97 |========================================================= Clang 7.0 SVN . 8.96 |=================================================== GCC 8.1.0 ..... 9.92 |========================================================= LAME MP3 Encoding 3.100 WAV To MP3 Seconds < Lower Is Better Clang 6.0.0 ... 9.58 |========================================================= Clang 5.0.1 ... 9.66 |========================================================= AMD AOCC 1.2 .. 9.65 |========================================================= GCC 7.3.0 ..... 8.97 |===================================================== Clang 7.0 SVN . 9.63 |========================================================= GCC 8.1.0 ..... 8.33 |================================================= libjpeg-turbo tjbench 1.5.3 Test: Decompression Throughput Megapixels/sec > Higher Is Better Clang 6.0.0 ... 181.10 |======================================================= Clang 5.0.1 ... 177.82 |====================================================== AMD AOCC 1.2 .. 179.01 |====================================================== GCC 7.3.0 ..... 177.07 |===================================================== Clang 7.0 SVN . 179.90 |====================================================== GCC 8.1.0 ..... 182.22 |======================================================= PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better Clang 6.0.0 ... 10472.71 |=========================================== Clang 5.0.1 ... 10357.10 |=========================================== GCC 7.3.0 ..... 12696.74 |===================================================== Clang 7.0 SVN . 9371.12 |======================================= GCC 8.1.0 ..... 12797.92 |===================================================== NGINX Benchmark 1.9.9 Static Web Page Serving Requests Per Second > Higher Is Better Clang 6.0.0 ... 32728.32 |==================================================== Clang 5.0.1 ... 30904.77 |================================================= AMD AOCC 1.2 .. 32068.74 |=================================================== GCC 7.3.0 ..... 32050.56 |=================================================== Clang 7.0 SVN . 32158.90 |=================================================== GCC 8.1.0 ..... 33182.07 |===================================================== Apache Benchmark 2.4.29 Static Web Page Serving Requests Per Second > Higher Is Better Clang 6.0.0 ... 25558.40 |===================================================== Clang 5.0.1 ... 25091.65 |==================================================== AMD AOCC 1.2 .. 25445.16 |===================================================== GCC 7.3.0 ..... 24667.05 |=================================================== Clang 7.0 SVN . 24680.63 |=================================================== GCC 8.1.0 ..... 25515.00 |=====================================================