GCC 4.8 vs. LLVM Clang 3.3 SVN Compiler Benchmarking GCC 4.7.2 versus GCC 4.8.0 versus LLVM Clang 3.2 versus LLVM Clang 3.3 SVN compiler benchmarking from an Intel Core i7 990X Gulftown system running Ubuntu 13.04 Linux. Compiler GCC benchmarks for a future article on Phoronix.com.
HTML result view exported from: https://openbenchmarking.org/result/1303255-FO-GCC48LLVM06&sro&grr .
GCC 4.8 vs. LLVM Clang 3.3 SVN Compiler Benchmarking Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN Intel Core i7 990X @ 3.47GHz (12 Cores) MSI X58M (MS-7593) v1.0 Intel 5520/5500/X58 + ICH10R 12288MB 1000GB Western Digital WD1003FBYX-0 NVIDIA GeForce 8400 GS 512MB (500/333MHz) Realtek ALC889 Realtek RTL8111/8168B Ubuntu 13.04 3.8.0-12-generic (x86_64) Unity 6.6.0 X Server 1.13.2 NVIDIA 313.26 3.3.0 NVIDIA 313.26 GCC 4.7.2 ext4 1920x1080 GCC 4.7 Clang 3.2 + LLVM 3.2svn Clang 3.3 (SVN 177878) + LLVM 3.3svn OpenBenchmarking.org Compiler Details - GCC 4.7.2: --enable-checking=release --enable-languages=c,c++,fortran --enable-lto - GCC 4.8.0: --build=x86_64-linux-gnu --disable-cloog-version-check --disable-ppl-version-check --disable-werror --enable-checking=release --enable-clocale=gnu --enable-cloog-backend=ppl --enable-gnu-unique-object --enable-languages=c,c++,go,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-cloog --with-multilib-list=m32,m64,mx32 --with-tune=generic -v - LLVM Clang 3.2: Optimized build; Built Mar 25 2013 (15:48:44); Default target: x86_64-unknown-linux-gnu; Host CPU: corei7 - LLVM Clang 3.3 SVN: Optimized build; Built Mar 25 2013 (12:54:43); Default target: x86_64-unknown-linux-gnu; Host CPU: corei7 Processor Details - Scaling Governor: ondemand OpenCL Details - GCC 4.8.0: GPU Compute Cores: 8 System Details - GCC 4.8.0: GPU Compute Cores: 8.
GCC 4.8 vs. LLVM Clang 3.3 SVN Compiler Benchmarking n-queens: Elapsed Time minion: Quasigroup minion: Solitaire minion: Graceful ffmpeg: H.264 HD To NTSC DV encode-mp3: WAV To MP3 encode-flac: WAV To FLAC smallpt: Global Illumination Renderer; 100 Samples primesieve: 1e12 Prime Number Generation c-ray: Total Time build-imagemagick: Time To Compile himeno: Poisson Pressure Solver john-the-ripper: MD5 john-the-ripper: Traditional DES john-the-ripper: Blowfish botan: X9.19-MAC botan: CAST-256 botan: Twofish botan: AES-256 botan: KASUMI botan: Tiger blake2: Phoronix Test Suite v4.4.1 mafft: Multiple Sequence Alignment lammps: Rhodopsin Protein GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 28.82 157.81 107.44 71.58 19.06 17.23 6.99 32 66.67 23.78 58.05 1527.02 77.12 85.71 175.13 154.60 39.35 360.43 5.96 5.67 49.36 29.66 153.93 103.05 72.40 19.35 17.00 6.94 32 66.79 18.83 59.67 1337.12 33996 12345000 7272 76.19 87.37 172.71 133.38 37.91 376.26 6.16 5.72 48.46 257.21 156.36 108.48 71.84 19.24 17.41 7.98 31 66.57 23.78 25.03 1487.33 25987 4102667 901 76.77 85.56 175.13 154.74 39.34 357.40 6.77 6.19 49.71 257.21 159.10 114.74 70.29 19.31 16.83 7.88 285 419.76 23.74 24.79 1499.50 28585 4105667 909 74.87 109.43 169.82 144.74 65.75 381.89 6.85 6.13 41.36 OpenBenchmarking.org
N-Queens Elapsed Time OpenBenchmarking.org Seconds, Fewer Is Better N-Queens 1.0 Elapsed Time GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 60 120 180 240 300 SE +/- 0.02, N = 3 SE +/- 0.13, N = 3 SE +/- 0.04, N = 3 SE +/- 0.05, N = 3 28.82 29.66 257.21 257.21 1. (CC) gcc options: -static -fopenmp -O3 -march=native
Minion Benchmark: Quasigroup OpenBenchmarking.org Seconds, Fewer Is Better Minion 0.15 Benchmark: Quasigroup GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 40 80 120 160 200 SE +/- 0.19, N = 3 SE +/- 0.44, N = 3 SE +/- 0.42, N = 3 SE +/- 0.55, N = 3 157.81 153.93 156.36 159.10 -lz -lbz2 -lz -lbz2 -lz -lbz2 1. (CXX) g++ options: -O3 -fomit-frame-pointer -rdynamic -lboost_iostreams-mt
Minion Benchmark: Solitaire OpenBenchmarking.org Seconds, Fewer Is Better Minion 0.15 Benchmark: Solitaire GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 30 60 90 120 150 SE +/- 0.76, N = 3 SE +/- 0.82, N = 3 SE +/- 0.76, N = 3 SE +/- 0.68, N = 3 107.44 103.05 108.48 114.74 -lz -lbz2 -lz -lbz2 -lz -lbz2 1. (CXX) g++ options: -O3 -fomit-frame-pointer -rdynamic -lboost_iostreams-mt
Minion Benchmark: Graceful OpenBenchmarking.org Seconds, Fewer Is Better Minion 0.15 Benchmark: Graceful GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 16 32 48 64 80 SE +/- 0.37, N = 3 SE +/- 0.38, N = 3 SE +/- 0.08, N = 3 SE +/- 0.35, N = 3 71.58 72.40 71.84 70.29 -lz -lbz2 -lz -lbz2 -lz -lbz2 1. (CXX) g++ options: -O3 -fomit-frame-pointer -rdynamic -lboost_iostreams-mt
FFmpeg H.264 HD To NTSC DV OpenBenchmarking.org Seconds, Fewer Is Better FFmpeg 1.1 H.264 HD To NTSC DV GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 5 10 15 20 25 SE +/- 0.07, N = 3 SE +/- 0.18, N = 3 SE +/- 0.04, N = 3 SE +/- 0.19, N = 3 19.06 19.35 19.24 19.31 1. (CC) gcc options: -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -ldl -lasound -lSDL -lm -pthread -lbz2
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.99.3 WAV To MP3 GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 4 8 12 16 20 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.04, N = 5 SE +/- 0.02, N = 5 17.23 17.00 17.41 16.83
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.2.1 WAV To FLAC GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 2 4 6 8 10 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.02, N = 5 SE +/- 0.01, N = 5 6.99 6.94 7.98 7.88 1. (CXX) g++ options: -O3 -march=native -logg -lm
Smallpt Global Illumination Renderer; 100 Samples OpenBenchmarking.org Seconds, Fewer Is Better Smallpt 1.0 Global Illumination Renderer; 100 Samples GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 60 120 180 240 300 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 32 32 31 285 1. (CXX) g++ options: -fopenmp -O3 -march=native
Primesieve 1e12 Prime Number Generation OpenBenchmarking.org Seconds, Fewer Is Better Primesieve 4.2 1e12 Prime Number Generation GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 90 180 270 360 450 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 SE +/- 0.04, N = 3 SE +/- 0.45, N = 3 66.67 66.79 66.57 419.76 -fopenmp -fopenmp -fopenmp 1. (CXX) g++ options: -O2
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 6 12 18 24 30 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 23.78 18.83 23.78 23.74 1. (CC) gcc options: -lm -lpthread -O3 -march=native
Timed ImageMagick Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed ImageMagick Compilation 6.8.1-10 Time To Compile GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 13 26 39 52 65 SE +/- 0.07, N = 3 SE +/- 0.12, N = 3 SE +/- 0.11, N = 3 SE +/- 0.10, N = 3 58.05 59.67 25.03 24.79
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 300 600 900 1200 1500 SE +/- 2.54, N = 3 SE +/- 5.16, N = 3 SE +/- 2.43, N = 3 SE +/- 2.56, N = 3 1527.02 1337.12 1487.33 1499.50 1. (CC) gcc options: -O3 -march=native
John The Ripper Test: MD5 OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.7.9-jumbo-7 Test: MD5 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 7K 14K 21K 28K 35K SE +/- 31.75, N = 3 SE +/- 52.07, N = 3 SE +/- 75.88, N = 3 33996 25987 28585 1. (CC) gcc options: -lssl -lcrypto -lm -lz -fopenmp -lcrypt -ldl
John The Ripper Test: Traditional DES OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.7.9-jumbo-7 Test: Traditional DES GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 3M 6M 9M 12M 15M SE +/- 41000.00, N = 3 SE +/- 1855.92, N = 3 SE +/- 6691.62, N = 3 12345000 4102667 4105667 1. (CC) gcc options: -lssl -lcrypto -lm -lz -fopenmp -lcrypt -ldl
John The Ripper Test: Blowfish OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.7.9-jumbo-7 Test: Blowfish GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 1600 3200 4800 6400 8000 SE +/- 0.33, N = 3 SE +/- 1.76, N = 3 SE +/- 0.67, N = 3 7272 901 909 1. (CC) gcc options: -lssl -lcrypto -lm -lz -fopenmp -lcrypt -ldl
Botan Test: X9.19-MAC OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: X9.19-MAC GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 20 40 60 80 100 77.12 76.19 76.77 74.87 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt
Botan Test: CAST-256 OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: CAST-256 GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 20 40 60 80 100 85.71 87.37 85.56 109.43 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt
Botan Test: Twofish OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: Twofish GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 40 80 120 160 200 175.13 172.71 175.13 169.82 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt
Botan Test: AES-256 OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: AES-256 GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 30 60 90 120 150 154.60 133.38 154.74 144.74 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt
Botan Test: KASUMI OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: KASUMI GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 15 30 45 60 75 39.35 37.91 39.34 65.75 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt
Botan Test: Tiger OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: Tiger GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 80 160 240 320 400 360.43 376.26 357.40 381.89 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt
BLAKE2 Phoronix Test Suite v4.4.1 OpenBenchmarking.org Cycles Per Byte, Fewer Is Better BLAKE2 20121223 Phoronix Test Suite v4.4.1 GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 2 4 6 8 10 SE +/- 0.03, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.05, N = 3 5.96 6.16 6.77 6.85 1. (CC) gcc options: -std=gnu99 -O3 -march=native
Timed MAFFT Alignment Multiple Sequence Alignment OpenBenchmarking.org Seconds, Fewer Is Better Timed MAFFT Alignment 6.864 Multiple Sequence Alignment GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 2 4 6 8 10 SE +/- 0.09, N = 6 SE +/- 0.10, N = 3 SE +/- 0.06, N = 3 SE +/- 0.13, N = 6 5.67 5.72 6.19 6.13 1. (CC) gcc options: -O3 -lm -lpthread
LAMMPS Molecular Dynamics Simulator Test: Rhodopsin Protein OpenBenchmarking.org Loop Time, Fewer Is Better LAMMPS Molecular Dynamics Simulator 1.0 Test: Rhodopsin Protein GCC 4.7.2 GCC 4.8.0 LLVM Clang 3.2 LLVM Clang 3.3 SVN 11 22 33 44 55 SE +/- 0.18, N = 3 SE +/- 0.14, N = 3 SE +/- 0.07, N = 3 SE +/- 0.09, N = 3 49.36 48.46 49.71 41.36 1. (CXX) g++ options: -lfftw -lmpich
Phoronix Test Suite v10.8.5