LLVM Clang 3.4 Intel Core i7 Haswell Core-AVX2 Intel Core i7-4770K Haswell testing of GCC 4.8.1 and an early GCC 4.9.0 compiler snapshot along with LLVM Clang 3.3 and an LLVM Clang 3.4 development snapshot. Testing with CFLAGS/CXXFLAGS for the Intel Core i7 Haswell CPU of -O3 and -march=core-avx2. Benchmarking by Michael Larabel for a future article on phoronix.com
HTML result view exported from: https://openbenchmarking.org/result/1306273-SO-CLANG34LL14&grr .
LLVM Clang 3.4 Intel Core i7 Haswell Core-AVX2 Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 Intel Core i7-4770K @ 3.50GHz (8 Cores) Intel DH87RL Intel 4th Gen Core DRAM 15360MB 240GB OCZ VERTEX3 Intel Haswell Desktop Intel Haswell HDMI VA2431 Intel Connection I217-V Ubuntu 13.10 3.10.0-999-generic (x86_64) KDE 4.10.4 X Server 1.13.3 intel 2.21.9 3.0 Mesa 9.2.0-devel (git-bbd2d57) GCC 4.8.1 + Clang 3.3 + LLVM 3.3 ext4 1920x1080 GCC 4.9.0 20130623 + Clang 3.3 + LLVM 3.3 Clang 3.3 + LLVM 3.3 Clang 3.4 (SVN 185044) + LLVM 3.4svn OpenBenchmarking.org Compiler Details - GCC 4.8.1: --disable-multilib --enable-checking=release --enable-languages=c,c++,fortran - GCC 4.9.0 20130623: --disable-multilib --enable-checking=release --enable-languages=c,c++,fortran - LLVM Clang 3.3: Optimized build; Built Jun 20 2013 (17:06:21); Default target: x86_64-unknown-linux-gnu; Host CPU: x86-64 - LLVM 3.4 SVN 20130626: Optimized build; Built Jun 26 2013 (19:58:17); Default target: x86_64-unknown-linux-gnu; Host CPU: x86-64 Processor Details - Scaling Governor: acpi-cpufreq ondemand
LLVM Clang 3.4 Intel Core i7 Haswell Core-AVX2 n-queens: Elapsed Time 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 graphics-magick: Resizing x264: H.264 Video Encoding scimark2: Jacobi Successive Over-Relaxation scimark2: Dense LU Matrix Factorization scimark2: Sparse Matrix Multiply scimark2: Fast Fourier Transform scimark2: Composite blake2: Phoronix Test Suite v4.8.0m1 mafft: Multiple Sequence Alignment hmmer: Pfam Database Search GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 36.69 5.37 25 79.17 17.06 79.18 1048.77 175 156.26 1169.09 1825.43 1204.00 242.66 1009.99 5.71 5.47 10.47 36.72 5.26 25 79.20 17.03 74.59 1588.37 181 155.67 1170.18 1851.86 1148.95 248.01 1005.56 5.29 5.52 10.40 184.28 5.64 140 323.37 27.06 34.39 1586.39 91 155.01 1673.05 1755.85 1228.19 249.83 1102.35 7.40 6.09 10.81 186.32 4.55 140 320.23 26.22 34.37 1395.01 91 152.82 1613.32 2397.89 1182.30 239.90 1204.77 7.81 5.98 10.70 OpenBenchmarking.org
N-Queens Elapsed Time OpenBenchmarking.org Seconds, Fewer Is Better N-Queens 1.0 Elapsed Time GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 40 80 120 160 200 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 SE +/- 0.11, N = 3 SE +/- 0.05, N = 3 36.69 36.72 184.28 186.32 1. (CC) gcc options: -static -fopenmp -O3 -march=core-avx2
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.0 WAV To FLAC GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 1.269 2.538 3.807 5.076 6.345 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 5.37 5.26 5.64 4.55 1. (CXX) g++ options: -O3 -march=core-avx2 -fvisibility=hidden -logg -lm
Smallpt Global Illumination Renderer; 100 Samples OpenBenchmarking.org Seconds, Fewer Is Better Smallpt 1.0 Global Illumination Renderer; 100 Samples GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 25 25 140 140 1. (CXX) g++ options: -fopenmp -O3 -march=core-avx2
Primesieve 1e12 Prime Number Generation OpenBenchmarking.org Seconds, Fewer Is Better Primesieve 4.2 1e12 Prime Number Generation GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 70 140 210 280 350 SE +/- 0.14, N = 3 SE +/- 0.04, N = 3 SE +/- 0.19, N = 3 SE +/- 0.41, N = 3 79.17 79.20 323.37 320.23 -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.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 6 12 18 24 30 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 17.06 17.03 27.06 26.22 1. (CC) gcc options: -lm -lpthread -O3 -march=core-avx2
Timed ImageMagick Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed ImageMagick Compilation 6.8.1-10 Time To Compile GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 20 40 60 80 100 SE +/- 0.28, N = 3 SE +/- 0.11, N = 3 SE +/- 0.10, N = 3 SE +/- 0.12, N = 3 79.18 74.59 34.39 34.37
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 300 600 900 1200 1500 SE +/- 5.10, N = 3 SE +/- 2.58, N = 3 SE +/- 0.45, N = 3 SE +/- 82.18, N = 6 1048.77 1588.37 1586.39 1395.01 1. (CC) gcc options: -O3 -march=core-avx2
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Resizing GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 40 80 120 160 200 SE +/- 2.73, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 175 181 91 91 -std=gnu99 -fopenmp -std=gnu99 -fopenmp 1. (CC) gcc options: -O3 -march=core-avx2 -pthread -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lpthread
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2013-06-08 H.264 Video Encoding GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 30 60 90 120 150 SE +/- 0.79, N = 5 SE +/- 0.90, N = 5 SE +/- 0.15, N = 5 SE +/- 0.51, N = 5 156.26 155.67 155.01 152.82 1. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -march=core-avx2 -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize
SciMark Computational Test: Jacobi Successive Over-Relaxation OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 400 800 1200 1600 2000 SE +/- 3.34, N = 4 SE +/- 0.00, N = 4 SE +/- 1.32, N = 4 SE +/- 20.67, N = 4 1169.09 1170.18 1673.05 1613.32 1. (CXX) g++ options: -O3 -march=core-avx2
SciMark Computational Test: Dense LU Matrix Factorization OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Dense LU Matrix Factorization GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 500 1000 1500 2000 2500 SE +/- 17.54, N = 4 SE +/- 2.63, N = 4 SE +/- 2.77, N = 4 SE +/- 26.35, N = 4 1825.43 1851.86 1755.85 2397.89 1. (CXX) g++ options: -O3 -march=core-avx2
SciMark Computational Test: Sparse Matrix Multiply OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Sparse Matrix Multiply GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 300 600 900 1200 1500 SE +/- 8.39, N = 4 SE +/- 1.61, N = 4 SE +/- 1.06, N = 4 SE +/- 8.53, N = 4 1204.00 1148.95 1228.19 1182.30 1. (CXX) g++ options: -O3 -march=core-avx2
SciMark Computational Test: Fast Fourier Transform OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Fast Fourier Transform GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 50 100 150 200 250 SE +/- 2.71, N = 4 SE +/- 0.51, N = 4 SE +/- 0.21, N = 4 SE +/- 0.81, N = 3 242.66 248.01 249.83 239.90 1. (CXX) g++ options: -O3 -march=core-avx2
SciMark Computational Test: Composite OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Composite GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 300 600 900 1200 1500 SE +/- 3.60, N = 4 SE +/- 0.86, N = 4 SE +/- 1.35, N = 4 SE +/- 1.71, N = 4 1009.99 1005.56 1102.35 1204.77 1. (CXX) g++ options: -O3 -march=core-avx2
BLAKE2 Phoronix Test Suite v4.8.0m1 OpenBenchmarking.org Cycles Per Byte, Fewer Is Better BLAKE2 20121223 Phoronix Test Suite v4.8.0m1 GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 2 4 6 8 10 SE +/- 0.08, N = 3 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 SE +/- 0.02, N = 3 5.71 5.29 7.40 7.81 1. (CC) gcc options: -std=gnu99 -O3 -march=native -lcrypto -lz
Timed MAFFT Alignment Multiple Sequence Alignment OpenBenchmarking.org Seconds, Fewer Is Better Timed MAFFT Alignment 6.864 Multiple Sequence Alignment GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 2 4 6 8 10 SE +/- 0.13, N = 6 SE +/- 0.15, N = 6 SE +/- 0.10, N = 6 SE +/- 0.04, N = 3 5.47 5.52 6.09 5.98 1. (CC) gcc options: -O3 -lm -lpthread
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search GCC 4.8.1 GCC 4.9.0 20130623 LLVM Clang 3.3 LLVM 3.4 SVN 20130626 3 6 9 12 15 SE +/- 0.01, N = 3 SE +/- 0.03, N = 3 SE +/- 0.02, N = 3 SE +/- 0.02, N = 3 10.47 10.40 10.81 10.70 1. (CC) gcc options: -O3 -march=core-avx2 -pthread -lhmmer -lsquid -lm
Phoronix Test Suite v10.8.5