GCC 6.1 vs. Clang 3.9 - Debian Compiler Benchmarks GCC 6.1.0 vs. Clang 3.9 SVN LLVM compiler benchmarks. Intel Xeon E5-2687W v3 GCC compiler benchmarks on Debian. Tests by Michael Larabel of Phoronix for a future article.
HTML result view exported from: https://openbenchmarking.org/result/1605071-HA-GCCCLANG568&grt&sro .
GCC 6.1 vs. Clang 3.9 - Debian Compiler Benchmarks Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC 6.1.0 LLVM Clang 3.9 SVN Intel Xeon E5-2687W v3 @ 3.50GHz (20 Cores) MSI X99S SLI PLUS (MS-7885) v1.0 Intel Xeon E7 v3/Xeon 16384MB PNY CS1211 120GB + 80GB INTEL SSDSCKGW08 AMD FirePro V7900 2048MB Realtek ALC892 ASUS PB278 Intel Connection Debian testing 4.5.0-1-amd64 (x86_64) X Server 1.18.3 modesetting 1.18.3 3.3 Mesa 11.1.3 Gallium 0.4 GCC 6.1.0 ext4 2560x1440 Clang 3.9.0-svn267387-1~exp1 OpenBenchmarking.org Compiler Details - GCC 6.1.0: --disable-multilib --enable-checking=release Processor Details - Scaling Governor: intel_pstate powersave
GCC 6.1 vs. Clang 3.9 - Debian Compiler Benchmarks bullet: Raytests bullet: 3000 Fall bullet: 1000 Stack bullet: 1000 Convex bullet: 136 Ragdolls bullet: Prim Trimesh bullet: Convex Trimesh encode-flac: WAV To FLAC graphics-magick: Blur graphics-magick: Sharpen graphics-magick: Resizing graphics-magick: HWB Color Space graphics-magick: Local Adaptive Thresholding hint: FLOAT himeno: Poisson Pressure Solver encode-mp3: WAV To MP3 pgbench: Buffer Test - Normal Load - Read Write pgbench: Buffer Test - Single Thread - Read Write pgbench: Buffer Test - Heavy Contention - Read Write redis: LPOP redis: SADD redis: LPUSH redis: GET redis: SET scimark2: Composite scimark2: Monte Carlo scimark2: Fast Fourier Transform scimark2: Sparse Matrix Multiply scimark2: Dense LU Matrix Factorization scimark2: Jacobi Successive Over-Relaxation hmmer: Pfam Database Search build-imagemagick: Time To Compile build-php: Time To Compile GCC 6.1.0 LLVM Clang 3.9 SVN 3.24 5.71 5.83 5.65 3.66 1.22 1.45 7.01 138 143 180 190 85 310268777.87 2113.04 12.45 4281.30 349.97 4539.62 655097.69 615258.45 584299.37 631189.52 584905.04 1388.10 547.58 443.71 2440.96 2468.30 1039.94 13.04 55.40 18.10 3.38 5.94 6.33 5.74 3.75 1.22 1.43 6.77 91 28 105 136 88 272865782.60 1378.83 14.22 4407.86 360.51 4627.73 646259.66 612855.44 601953.71 661462.67 601704.06 1993.61 242.94 471.18 2765.26 4976.26 1512.41 11.69 37.86 15.90 OpenBenchmarking.org
Bullet Physics Engine Test: Raytests OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: Raytests GCC 6.1.0 LLVM Clang 3.9 SVN 0.7605 1.521 2.2815 3.042 3.8025 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 3.24 3.38 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
Bullet Physics Engine Test: 3000 Fall OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: 3000 Fall GCC 6.1.0 LLVM Clang 3.9 SVN 1.3365 2.673 4.0095 5.346 6.6825 SE +/- 0.12, N = 3 SE +/- 0.15, N = 3 5.71 5.94 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
Bullet Physics Engine Test: 1000 Stack OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: 1000 Stack GCC 6.1.0 LLVM Clang 3.9 SVN 2 4 6 8 10 SE +/- 0.05, N = 3 SE +/- 0.04, N = 3 5.83 6.33 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
Bullet Physics Engine Test: 1000 Convex OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: 1000 Convex GCC 6.1.0 LLVM Clang 3.9 SVN 1.2915 2.583 3.8745 5.166 6.4575 SE +/- 0.05, N = 3 SE +/- 0.01, N = 3 5.65 5.74 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
Bullet Physics Engine Test: 136 Ragdolls OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: 136 Ragdolls GCC 6.1.0 LLVM Clang 3.9 SVN 0.8438 1.6876 2.5314 3.3752 4.219 SE +/- 0.06, N = 3 SE +/- 0.01, N = 3 3.66 3.75 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
Bullet Physics Engine Test: Prim Trimesh OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: Prim Trimesh GCC 6.1.0 LLVM Clang 3.9 SVN 0.2745 0.549 0.8235 1.098 1.3725 SE +/- 0.02, N = 3 SE +/- 0.00, N = 3 1.22 1.22 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
Bullet Physics Engine Test: Convex Trimesh OpenBenchmarking.org Seconds, Fewer Is Better Bullet Physics Engine 2.81 Test: Convex Trimesh GCC 6.1.0 LLVM Clang 3.9 SVN 0.3263 0.6526 0.9789 1.3052 1.6315 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 1.45 1.43 1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.1 WAV To FLAC GCC 6.1.0 LLVM Clang 3.9 SVN 2 4 6 8 10 SE +/- 0.10, N = 5 SE +/- 0.05, N = 5 7.01 6.77 -fvisibility=hidden 1. (CXX) g++ options: -O3 -march=native -lm
GraphicsMagick Operation: Blur OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Blur GCC 6.1.0 LLVM Clang 3.9 SVN 30 60 90 120 150 SE +/- 1.20, N = 3 SE +/- 0.00, N = 3 138 91 -fopenmp -ldl 1. (CC) gcc options: -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -lpthread
GraphicsMagick Operation: Sharpen OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Sharpen GCC 6.1.0 LLVM Clang 3.9 SVN 30 60 90 120 150 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 143 28 -fopenmp -ldl 1. (CC) gcc options: -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -lpthread
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Resizing GCC 6.1.0 LLVM Clang 3.9 SVN 40 80 120 160 200 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 180 105 -fopenmp -ldl 1. (CC) gcc options: -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -lpthread
GraphicsMagick Operation: HWB Color Space OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: HWB Color Space GCC 6.1.0 LLVM Clang 3.9 SVN 40 80 120 160 200 SE +/- 0.58, N = 3 SE +/- 0.00, N = 3 190 136 -fopenmp -ldl 1. (CC) gcc options: -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -lpthread
GraphicsMagick Operation: Local Adaptive Thresholding OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Local Adaptive Thresholding GCC 6.1.0 LLVM Clang 3.9 SVN 20 40 60 80 100 SE +/- 0.58, N = 3 SE +/- 0.00, N = 3 85 88 -fopenmp -ldl 1. (CC) gcc options: -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -lpthread
Hierarchical INTegration Test: FLOAT OpenBenchmarking.org QUIPs, More Is Better Hierarchical INTegration 1.0 Test: FLOAT GCC 6.1.0 LLVM Clang 3.9 SVN 70M 140M 210M 280M 350M SE +/- 619811.97, N = 3 SE +/- 134978.63, N = 3 310268777.87 272865782.60 1. (CC) gcc options: -O3 -march=native -lm
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver GCC 6.1.0 LLVM Clang 3.9 SVN 500 1000 1500 2000 2500 SE +/- 9.13, N = 3 SE +/- 3.65, N = 3 2113.04 1378.83 1. (CC) gcc options: -O3 -march=native -mavx2
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.99.3 WAV To MP3 GCC 6.1.0 LLVM Clang 3.9 SVN 4 8 12 16 20 SE +/- 0.10, N = 5 SE +/- 0.10, N = 5 12.45 14.22 1. (CC) gcc options: -pipe -O3 -march=native -lm
PostgreSQL pgbench Scaling: Buffer Test - Test: Normal Load - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.4.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write GCC 6.1.0 LLVM Clang 3.9 SVN 900 1800 2700 3600 4500 SE +/- 18.80, N = 3 SE +/- 65.09, N = 3 4281.30 4407.86 -pthreads -mthreads 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
PostgreSQL pgbench Scaling: Buffer Test - Test: Single Thread - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.4.3 Scaling: Buffer Test - Test: Single Thread - Mode: Read Write GCC 6.1.0 LLVM Clang 3.9 SVN 80 160 240 320 400 SE +/- 1.70, N = 3 SE +/- 3.50, N = 3 349.97 360.51 -pthreads -mthreads 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
PostgreSQL pgbench Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.4.3 Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write GCC 6.1.0 LLVM Clang 3.9 SVN 1000 2000 3000 4000 5000 SE +/- 66.74, N = 3 SE +/- 79.70, N = 4 4539.62 4627.73 -pthreads -mthreads 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
Redis Test: LPOP OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: LPOP GCC 6.1.0 LLVM Clang 3.9 SVN 140K 280K 420K 560K 700K SE +/- 10960.53, N = 3 SE +/- 8991.66, N = 5 655097.69 646259.66 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
Redis Test: SADD OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: SADD GCC 6.1.0 LLVM Clang 3.9 SVN 130K 260K 390K 520K 650K SE +/- 126.17, N = 3 SE +/- 5795.28, N = 3 615258.45 612855.44 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
Redis Test: LPUSH OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: LPUSH GCC 6.1.0 LLVM Clang 3.9 SVN 130K 260K 390K 520K 650K SE +/- 11218.12, N = 6 SE +/- 2874.31, N = 3 584299.37 601953.71 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
Redis Test: GET OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: GET GCC 6.1.0 LLVM Clang 3.9 SVN 140K 280K 420K 560K 700K SE +/- 10870.06, N = 4 SE +/- 5382.80, N = 3 631189.52 661462.67 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
Redis Test: SET OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: SET GCC 6.1.0 LLVM Clang 3.9 SVN 130K 260K 390K 520K 650K SE +/- 8041.99, N = 3 SE +/- 2412.78, N = 3 584905.04 601704.06 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
SciMark Computational Test: Composite OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Composite GCC 6.1.0 LLVM Clang 3.9 SVN 400 800 1200 1600 2000 SE +/- 4.89, N = 4 SE +/- 9.80, N = 4 1388.10 1993.61 1. (CXX) g++ options: -O3 -march=native
SciMark Computational Test: Monte Carlo OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Monte Carlo GCC 6.1.0 LLVM Clang 3.9 SVN 120 240 360 480 600 SE +/- 5.84, N = 4 SE +/- 0.01, N = 4 547.58 242.94 1. (CXX) g++ options: -O3 -march=native
SciMark Computational Test: Fast Fourier Transform OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Fast Fourier Transform GCC 6.1.0 LLVM Clang 3.9 SVN 100 200 300 400 500 SE +/- 1.70, N = 4 SE +/- 1.44, N = 4 443.71 471.18 1. (CXX) g++ options: -O3 -march=native
SciMark Computational Test: Sparse Matrix Multiply OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Sparse Matrix Multiply GCC 6.1.0 LLVM Clang 3.9 SVN 600 1200 1800 2400 3000 SE +/- 12.32, N = 4 SE +/- 14.86, N = 4 2440.96 2765.26 1. (CXX) g++ options: -O3 -march=native
SciMark Computational Test: Dense LU Matrix Factorization OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Dense LU Matrix Factorization GCC 6.1.0 LLVM Clang 3.9 SVN 1100 2200 3300 4400 5500 SE +/- 10.80, N = 4 SE +/- 32.84, N = 4 2468.30 4976.26 1. (CXX) g++ options: -O3 -march=native
SciMark Computational Test: Jacobi Successive Over-Relaxation OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation GCC 6.1.0 LLVM Clang 3.9 SVN 300 600 900 1200 1500 SE +/- 6.48, N = 4 SE +/- 0.09, N = 4 1039.94 1512.41 1. (CXX) g++ options: -O3 -march=native
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search GCC 6.1.0 LLVM Clang 3.9 SVN 3 6 9 12 15 SE +/- 0.68, N = 6 SE +/- 0.34, N = 6 13.04 11.69 1. (CC) gcc options: -O3 -march=native -pthread -lhmmer -lsquid -lm
Timed ImageMagick Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed ImageMagick Compilation 6.9.0 Time To Compile GCC 6.1.0 LLVM Clang 3.9 SVN 12 24 36 48 60 SE +/- 0.23, N = 3 SE +/- 0.05, N = 3 55.40 37.86
Timed PHP Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed PHP Compilation 5.2.9 Time To Compile GCC 6.1.0 LLVM Clang 3.9 SVN 4 8 12 16 20 SE +/- 0.19, N = 3 SE +/- 0.07, N = 3 18.10 15.90 1. (CC) gcc options: -O3 -march=native -pedantic -ldl -lz -lm
Phoronix Test Suite v10.8.5