GCC 9 Compiler Benchmarking vs. LLVM Clang Intel Core i9-7980XE benchmarks of GCC 8 / GCC 9 versus LLVM Clang 7 and LLVM Clang 8 compilers on Ubuntu Linux. Benchmarks by Michael Larabel for a future article on Phoronix.com. GCC 8.2.0: Processor: Intel Core i9-7980XE @ 4.20GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1503 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 16384MB, Disk: 240GB Force MP510, Graphics: NV120 12GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 18.10, Kernel: 4.18.0-10-generic (x86_64), Desktop: GNOME Shell 3.30.1, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, OpenGL: 4.3 Mesa 18.2.2, Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 2560x1440 GCC 9.0.0 20181112: Processor: Intel Core i9-7980XE @ 4.20GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1503 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 16384MB, Disk: 240GB Force MP510, Graphics: NV120 12GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 18.10, Kernel: 4.18.0-10-generic (x86_64), Desktop: GNOME Shell 3.30.1, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, OpenGL: 4.3 Mesa 18.2.2, Compiler: GCC 9.0.0 20181112, File-System: ext4, Screen Resolution: 2560x1440 Clang 7.0.0: Processor: Intel Core i9-7980XE @ 4.20GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1503 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 16384MB, Disk: 240GB Force MP510, Graphics: NV120 12GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 18.10, Kernel: 4.18.0-10-generic (x86_64), Desktop: GNOME Shell 3.30.1, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, OpenGL: 4.3 Mesa 18.2.2, Compiler: Clang 7.0.0-3, File-System: ext4, Screen Resolution: 2560x1440 Clang 8.0.0 20181111: Processor: Intel Core i9-7980XE @ 4.20GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1503 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 16384MB, Disk: 240GB Force MP510, Graphics: NV120 12GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 18.10, Kernel: 4.18.0-10-generic (x86_64), Desktop: GNOME Shell 3.30.1, Display Server: X Server 1.20.1, Display Driver: modesetting 1.20.1, OpenGL: 4.3 Mesa 18.2.2, Compiler: Clang 8.0.0-svn346617-1~exp1+0~20181111195013.162~1.gbp8d271f, File-System: ext4, Screen Resolution: 2560x1440 NAS Parallel Benchmarks 3.3 Test / Class: BT.A Total Mop/s > Higher Is Better GCC 8.2.0 .......... 4834 |==================================================== GCC 9.0.0 20181112 . 4557 |================================================= NAS Parallel Benchmarks 3.3 Test / Class: EP.C Total Mop/s > Higher Is Better GCC 8.2.0 .......... 925 |====================================== GCC 9.0.0 20181112 . 1250 |==================================================== NAS Parallel Benchmarks 3.3 Test / Class: FT.A Total Mop/s > Higher Is Better GCC 8.2.0 .......... 6756 |==================================================== GCC 9.0.0 20181112 . 6718 |==================================================== NAS Parallel Benchmarks 3.3 Test / Class: FT.B Total Mop/s > Higher Is Better GCC 8.2.0 .......... 7220 |==================================================== GCC 9.0.0 20181112 . 7174 |==================================================== NAS Parallel Benchmarks 3.3 Test / Class: SP.A Total Mop/s > Higher Is Better GCC 8.2.0 .......... 3542 |================================================ GCC 9.0.0 20181112 . 3865 |==================================================== Parboil 2.5 Test: OpenMP LBM Seconds < Lower Is Better GCC 8.2.0 .......... 79.36 |================================================== GCC 9.0.0 20181112 . 81.52 |=================================================== Parboil 2.5 Test: OpenMP CUTCP Seconds < Lower Is Better GCC 8.2.0 .......... 2.46 |==================================================== GCC 9.0.0 20181112 . 2.44 |==================================================== Parboil 2.5 Test: OpenMP Stencil Seconds < Lower Is Better GCC 8.2.0 .......... 7.13 |==================================================== GCC 9.0.0 20181112 . 7.19 |==================================================== Parboil 2.5 Test: OpenMP MRI Gridding Seconds < Lower Is Better GCC 8.2.0 .......... 146 |===================================================== GCC 9.0.0 20181112 . 147 |===================================================== CloverLeaf Lagrangian-Eulerian Hydrodynamics Seconds < Lower Is Better GCC 8.2.0 .......... 2.98 |================================================ GCC 9.0.0 20181112 . 3.20 |==================================================== High Performance Conjugate Gradient 3.0 GFLOP/s > Higher Is Better GCC 8.2.0 ............ 1.25 |=============================================== GCC 9.0.0 20181112 ... 1.22 |============================================== Clang 7.0.0 .......... 1.33 |================================================== Clang 8.0.0 20181111 . 1.34 |================================================== FFTW 3.3.6 Build: Float + SSE - Size: 1D FFT Size 2048 Mflops > Higher Is Better GCC 8.2.0 ............ 57019 |=============================================== GCC 9.0.0 20181112 ... 59299 |================================================= Clang 7.0.0 .......... 56274 |=============================================== Clang 8.0.0 20181111 . 54433 |============================================= FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 2048 Mflops > Higher Is Better GCC 8.2.0 ............ 20014 |================================================ GCC 9.0.0 20181112 ... 20468 |================================================= Clang 7.0.0 .......... 20258 |================================================ Clang 8.0.0 20181111 . 19871 |================================================ Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better GCC 8.2.0 ............ 10.26 |================================================ GCC 9.0.0 20181112 ... 10.42 |================================================= Clang 7.0.0 .......... 8.59 |======================================== Clang 8.0.0 20181111 . 8.52 |======================================== BLAKE2 20170307 Cycles Per Byte < Lower Is Better GCC 8.2.0 ............ 3.66 |================================================== GCC 9.0.0 20181112 ... 3.51 |================================================ Clang 7.0.0 .......... 3.02 |========================================= Clang 8.0.0 20181111 . 3.10 |========================================== SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better GCC 8.2.0 ............ 2615 |================================================== GCC 9.0.0 20181112 ... 2613 |================================================== Clang 7.0.0 .......... 2584 |================================================= Clang 8.0.0 20181111 . 2577 |================================================= SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better GCC 8.2.0 ............ 906 |=================================================== GCC 9.0.0 20181112 ... 906 |=================================================== Clang 7.0.0 .......... 717 |======================================== Clang 8.0.0 20181111 . 717 |======================================== SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better GCC 8.2.0 ............ 727 |================================================ GCC 9.0.0 20181112 ... 732 |================================================= Clang 7.0.0 .......... 763 |=================================================== Clang 8.0.0 20181111 . 768 |=================================================== SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better GCC 8.2.0 ............ 3295 |================================================== GCC 9.0.0 20181112 ... 3295 |================================================== Clang 7.0.0 .......... 3300 |================================================== Clang 8.0.0 20181111 . 3288 |================================================== SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better GCC 8.2.0 ............ 6071 |=============================================== GCC 9.0.0 20181112 ... 6063 |=============================================== Clang 7.0.0 .......... 6476 |================================================== Clang 8.0.0 20181111 . 6449 |================================================== SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better GCC 8.2.0 ............ 2074 |================================================== GCC 9.0.0 20181112 ... 2069 |================================================== Clang 7.0.0 .......... 1662 |======================================== Clang 8.0.0 20181111 . 1661 |======================================== Crafty 25.2 Elapsed Time Nodes Per Second > Higher Is Better GCC 8.2.0 .......... 8560641 |================================================= GCC 9.0.0 20181112 . 8423397 |================================================ John The Ripper 1.8.0-jumbo-1 Test: Blowfish Real C/S > Higher Is Better GCC 8.2.0 ............ 22254 |======================================= GCC 9.0.0 20181112 ... 22173 |======================================= Clang 7.0.0 .......... 27611 |================================================= Clang 8.0.0 20181111 . 25614 |============================================= John The Ripper 1.8.0-jumbo-1 Test: Traditional DES Real C/S > Higher Is Better GCC 8.2.0 ............ 72707667 |================================= GCC 9.0.0 20181112 ... 74356333 |================================= Clang 7.0.0 .......... 98537500 |============================================ Clang 8.0.0 20181111 . 100083000 |============================================= John The Ripper 1.8.0-jumbo-1 Test: MD5 Real C/S > Higher Is Better GCC 8.2.0 ............ 670435 |======================================= GCC 9.0.0 20181112 ... 675993 |======================================== Clang 7.0.0 .......... 799209 |=============================================== Clang 8.0.0 20181111 . 818976 |================================================ x264 2018-09-25 H.264 Video Encoding Frames Per Second > Higher Is Better GCC 8.2.0 ............ 128 |=================================================== GCC 9.0.0 20181112 ... 128 |=================================================== Clang 7.0.0 .......... 125 |================================================== Clang 8.0.0 20181111 . 125 |================================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better GCC 8.2.0 ............ 3089 |================================================== GCC 9.0.0 20181112 ... 3093 |================================================== Clang 7.0.0 .......... 2463 |======================================== Clang 8.0.0 20181111 . 2455 |======================================== 7-Zip Compression 16.02 Compress Speed Test MIPS > Higher Is Better GCC 8.2.0 .......... 93576 |=================================================== GCC 9.0.0 20181112 . 93437 |=================================================== Stockfish 9 Total Time Nodes Per Second > Higher Is Better GCC 8.2.0 ............ 47827811 |============================================== GCC 9.0.0 20181112 ... 46908339 |============================================= Clang 7.0.0 .......... 46179707 |============================================ Clang 8.0.0 20181111 . 45725081 |============================================ ebizzy 0.3 Records/s > Higher Is Better GCC 8.2.0 ............ 607319 |=============================================== GCC 9.0.0 20181112 ... 620245 |================================================ Clang 7.0.0 .......... 594997 |============================================== Clang 8.0.0 20181111 . 588266 |============================================== Timed Apache Compilation 2.4.7 Time To Compile Seconds < Lower Is Better GCC 8.2.0 ............ 22.05 |================================================= GCC 9.0.0 20181112 ... 22.26 |================================================= Clang 7.0.0 .......... 21.13 |=============================================== Clang 8.0.0 20181111 . 19.70 |=========================================== Timed Linux Kernel Compilation 4.18 Time To Compile Seconds < Lower Is Better GCC 8.2.0 .......... 44.26 |=================================================== GCC 9.0.0 20181112 . 44.18 |=================================================== Timed LLVM Compilation 6.0.1 Time To Compile Seconds < Lower Is Better GCC 8.2.0 ............ 223 |=================================================== GCC 9.0.0 20181112 ... 220 |================================================== Clang 7.0.0 .......... 216 |================================================= Clang 8.0.0 20181111 . 189 |=========================================== C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel Seconds < Lower Is Better GCC 8.2.0 ............ 33.70 |========================= GCC 9.0.0 20181112 ... 33.75 |========================= Clang 7.0.0 .......... 66.76 |================================================= Clang 8.0.0 20181111 . 67.06 |================================================= AOBench Size: 2048 x 2048 - Total Time Seconds < Lower Is Better GCC 8.2.0 ............ 31.35 |================================================ GCC 9.0.0 20181112 ... 31.32 |================================================ Clang 7.0.0 .......... 32.30 |================================================= Clang 8.0.0 20181111 . 32.19 |================================================= Zstd Compression 1.3.4 Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19 Seconds < Lower Is Better GCC 8.2.0 ............ 10.61 |================================================= GCC 9.0.0 20181112 ... 10.63 |================================================= Clang 7.0.0 .......... 10.27 |=============================================== Clang 8.0.0 20181111 . 10.34 |================================================ LAME MP3 Encoding 3.100 WAV To MP3 Seconds < Lower Is Better GCC 8.2.0 ............ 10.13 |========================================= GCC 9.0.0 20181112 ... 9.74 |======================================= Clang 7.0.0 .......... 12.16 |================================================= Clang 8.0.0 20181111 . 11.80 |================================================ m-queens 1.2 Time To Solve Seconds < Lower Is Better GCC 8.2.0 ............ 48.73 |=============================================== GCC 9.0.0 20181112 ... 48.72 |=============================================== Clang 7.0.0 .......... 50.19 |================================================= Clang 8.0.0 20181111 . 50.41 |================================================= OpenSSL 1.1.1 RSA 4096-bit Performance Signs Per Second > Higher Is Better GCC 8.2.0 ............ 4658 |================================================== GCC 9.0.0 20181112 ... 4673 |================================================== Clang 7.0.0 .......... 4547 |================================================= Clang 8.0.0 20181111 . 4544 |================================================= libjpeg-turbo tjbench 1.5.3 Test: Decompression Throughput Megapixels/sec > Higher Is Better GCC 8.2.0 ............ 183 |============================================== GCC 9.0.0 20181112 ... 184 |============================================== Clang 7.0.0 .......... 204 |=================================================== Clang 8.0.0 20181111 . 198 |================================================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only TPS > Higher Is Better GCC 8.2.0 ............ 496730 |=============================================== GCC 9.0.0 20181112 ... 500154 |=============================================== Clang 7.0.0 .......... 504725 |================================================ Clang 8.0.0 20181111 . 505631 |================================================ PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better GCC 8.2.0 ............ 23830 |================================================= GCC 9.0.0 20181112 ... 21776 |============================================= Clang 7.0.0 .......... 17186 |=================================== Clang 8.0.0 20181111 . 10012 |===================== Xsbench 2017-07-06 Lookups/s > Higher Is Better GCC 8.2.0 ............ 4662395 |========================================== GCC 9.0.0 20181112 ... 4664809 |=========================================== Clang 7.0.0 .......... 5156109 |=============================================== Clang 8.0.0 20181111 . 5022107 |============================================== Memcached mcperf 1.5.10 Method: Get Operations Per Second > Higher Is Better GCC 8.2.0 ............ 108730 |============================================= GCC 9.0.0 20181112 ... 110495 |============================================== Clang 7.0.0 .......... 115868 |================================================ Clang 8.0.0 20181111 . 115247 |================================================ Memcached mcperf 1.5.10 Method: Set Operations Per Second > Higher Is Better GCC 8.2.0 ............ 71776 |================================================ GCC 9.0.0 20181112 ... 72449 |================================================= Clang 7.0.0 .......... 73064 |================================================= Clang 8.0.0 20181111 . 73009 |=================================================