LLVM Clang 3.3 vs. GCC 4.8 - Intel Core-AVX2 Haswell

Intel Core i7-4770K testing with a Intel DH87RL motherboard looking at the GCC 4.7, GCC 4.8, LLVM Clang 3.2, and LLVM Clang 3.3 compiler performance with core-avx2 Haswell optimizations. Intel Core i7 Haswell core-avx2 compiler benchmarks for a future article on Phoronix by Michael Larabel.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1306206-SO-LLVMCLANG08
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
GCC 4.7.3
June 20 2013
 
GCC 4.8.1
June 20 2013
 
LLVM Clang 3.2
June 20 2013
 
LLVM Clang 3.3
June 20 2013
 
Invert Behavior (Only Show Selected Data)
 

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


LLVM Clang 3.3 vs. GCC 4.8 - Intel Core-AVX2 HaswellOpenBenchmarking.orgPhoronix Test SuiteIntel Core i7-4770K @ 3.50GHz (8 Cores)Intel DH87RLIntel 4th Gen Core DRAM15360MB240GB OCZ VERTEX3Intel Haswell DesktopIntel Haswell HDMIVA2431Intel Connection I217-VUbuntu 13.103.10.0-999-generic (x86_64)Unity 7.0.0X Server 1.13.3intel 2.21.93.0 Mesa 9.1.3GCC 4.7.3GCC 4.8.1Clang 3.2 + LLVM 3.2svnClang 3.3 + LLVM 3.3ext41920x1080ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilersFile-SystemScreen ResolutionLLVM Clang 3.3 Vs. GCC 4.8 - Intel Core-AVX2 Haswell BenchmarksSystem Logs- GCC 4.7.3: --disable-multilib --enable-checking=release --enable-languages=c,c++,fortran- GCC 4.8.1: --disable-multilib --enable-checking=release --enable-languages=c,c++,fortran- LLVM Clang 3.2: Optimized build; Built Jun 20 2013 (14:54:23); Default target: x86_64-unknown-linux-gnu; Host CPU: x86-64 - LLVM Clang 3.3: Optimized build; Built Jun 20 2013 (12:21:18); Default target: x86_64-unknown-linux-gnu; Host CPU: x86-64 - Scaling Governor: acpi- freq ondemand

GCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3Logarithmic Result OverviewPhoronix Test SuiteSmallptTimed ImageMagick CompilationTimed PHP CompilationC-RayBLAKE2Timed MAFFT AlignmentHimeno BenchmarkTimed HMMer SearchSciMarkTSCPFFmpegApache Benchmarkx264

LLVM Clang 3.3 vs. GCC 4.8 - Intel Core-AVX2 Haswelltscp: AI Chess Performancescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationblake2: Phoronix Test Suite v4.8.0m0encode-mp3: WAV To MP3hmmer: Pfam Database Searchmafft: Multiple Sequence Alignmenthimeno: Poisson Pressure Solverbuild-imagemagick: Time To Compileprimesieve: 1e12 Prime Number Generationbuild-php: Time To Compiletachyon: Total Timex264: H.264 Video Encodingc-ray: Total Timeffmpeg: H.264 HD To NTSC DVsmallpt: Global Illumination Renderer; 100 Samplesapache: Static Web Page ServingGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3631626450.21251.671177.861861.551163.525.3210.415.271663.9793.6779.3632.92155.3321.4512.862525743.99599455615.32245.001123.801773.351164.635.3010.305.171593.0978.6179.2433.30156.3417.0212.812525786.15624323615.04246.791234.191774.031670.777.5412.7411.925.961532.5131.9419.5910.44155.3527.4612.7714025888.95624749619.77237.861263.291827.341666.247.4514.4510.946.191419.9034.35326.8521.0310.98153.1527.0313.1814225295.82OpenBenchmarking.org

TSCP

OpenBenchmarking.orgNodes Per Second, More Is BetterTSCP 1.81AI Chess PerformanceGCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3GCC 4.7.3140K280K420K560K700KSE +/- 520.60, N = 5SE +/- 141.40, N = 5SE +/- 480.04, N = 5SE +/- 0.00, N = 5599455624323624749631626

SciMark

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloGCC 4.7.3LLVM Clang 3.2GCC 4.8.1LLVM Clang 3.3130260390520650SE +/- 0.55, N = 4SE +/- 5.67, N = 4SE +/- 0.00, N = 4SE +/- 0.89, N = 4450.21615.04615.32619.77

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformLLVM Clang 3.3GCC 4.8.1LLVM Clang 3.2GCC 4.7.350100150200250SE +/- 0.98, N = 4SE +/- 0.34, N = 4SE +/- 1.60, N = 4SE +/- 0.68, N = 4237.86245.00246.79251.67

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyGCC 4.8.1GCC 4.7.3LLVM Clang 3.2LLVM Clang 3.330060090012001500SE +/- 5.13, N = 4SE +/- 0.85, N = 4SE +/- 30.06, N = 4SE +/- 5.09, N = 41123.801177.861234.191263.29

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationGCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3GCC 4.7.3400800120016002000SE +/- 1.48, N = 4SE +/- 36.01, N = 4SE +/- 22.59, N = 4SE +/- 1.88, N = 41773.351774.031827.341861.55

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationGCC 4.7.3GCC 4.8.1LLVM Clang 3.3LLVM Clang 3.2400800120016002000SE +/- 1.28, N = 4SE +/- 1.11, N = 4SE +/- 1.85, N = 4SE +/- 0.00, N = 41163.521164.631666.241670.77

BLAKE2

OpenBenchmarking.orgCycles Per Byte, Fewer Is BetterBLAKE2 20121223Phoronix Test Suite v4.8.0m0LLVM Clang 3.2LLVM Clang 3.3GCC 4.7.3GCC 4.8.1246810SE +/- 0.11, N = 3SE +/- 0.13, N = 4SE +/- 0.00, N = 3SE +/- 0.01, N = 37.547.455.325.301. (CC) gcc options: -std=gnu99 -O3 -march=native -lcrypto -lz

LAME MP3 Encoding

LAME is an MP3 encoder licensed under the LGPL. This test measures the time required to encode a WAV file to MP3 format. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3LLVM Clang 3.3LLVM Clang 3.248121620SE +/- 0.01, N = 5SE +/- 0.01, N = 514.4512.741. (CC) gcc options: -pipe -march=core-avx2 -O3 -lm

Timed HMMer Search

This test searches through the Pfam database of profile hidden markov models. The search finds the domain structure of Drosophila Sevenless protein. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchLLVM Clang 3.2LLVM Clang 3.3GCC 4.7.3GCC 4.8.13691215SE +/- 0.00, N = 3SE +/- 0.18, N = 4SE +/- 0.02, N = 3SE +/- 0.00, N = 311.9210.9410.4110.301. (CC) gcc options: -march=core-avx2 -O3 -pthread -lhmmer -lsquid -lm

Timed MAFFT Alignment

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed MAFFT Alignment 6.864Multiple Sequence AlignmentLLVM Clang 3.3LLVM Clang 3.2GCC 4.7.3GCC 4.8.1246810SE +/- 0.12, N = 3SE +/- 0.10, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 36.195.965.275.171. (CC) gcc options: -O3 -lm -lpthread

Himeno Benchmark

The Himeno benchmark is a linear solver of pressure Poisson using a point-Jacobi method. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverLLVM Clang 3.3LLVM Clang 3.2GCC 4.8.1GCC 4.7.3400800120016002000SE +/- 13.80, N = 3SE +/- 2.02, N = 3SE +/- 20.45, N = 3SE +/- 0.19, N = 31419.901532.511593.091663.971. (CC) gcc options: -O3 -march=core-avx2

Timed ImageMagick Compilation

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed ImageMagick Compilation 6.8.1-10Time To CompileGCC 4.7.3GCC 4.8.1LLVM Clang 3.3LLVM Clang 3.220406080100SE +/- 0.60, N = 3SE +/- 0.07, N = 3SE +/- 0.37, N = 3SE +/- 0.12, N = 393.6778.6134.3531.94

Primesieve

OpenBenchmarking.orgSeconds, Fewer Is BetterPrimesieve 4.21e12 Prime Number GenerationLLVM Clang 3.3GCC 4.7.3GCC 4.8.170140210280350SE +/- 2.08, N = 3SE +/- 0.06, N = 3SE +/- 0.08, N = 3326.8579.3679.24-fopenmp-fopenmp1. (CXX) g++ options: -O2

Timed PHP Compilation

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To CompileGCC 4.8.1GCC 4.7.3LLVM Clang 3.3LLVM Clang 3.2816243240SE +/- 0.46, N = 3SE +/- 0.14, N = 3SE +/- 0.20, N = 3SE +/- 0.03, N = 333.3032.9221.0319.59-lpthread1. (CC) gcc options: -march=core-avx2 -O3 -pedantic -ldl -lz -lm

Tachyon

This is a test of the threaded Tachyon, a parallel ray-tracing system. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTachyon 0.98.9Total TimeLLVM Clang 3.3LLVM Clang 3.23691215SE +/- 0.24, N = 6SE +/- 0.06, N = 310.9810.441. (CC) gcc options: -m32 -O3 -fomit-frame-pointer -ffast-math -ltachyon -lm -lpthread

x264

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2013-06-08H.264 Video EncodingLLVM Clang 3.3GCC 4.7.3LLVM Clang 3.2GCC 4.8.1306090120150SE +/- 0.58, N = 5SE +/- 0.33, N = 5SE +/- 0.60, N = 5SE +/- 0.40, N = 5153.15155.33155.35156.341. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -march=core-avx2 -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize

C-Ray

This is a test of C-Ray, a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeLLVM Clang 3.2LLVM Clang 3.3GCC 4.7.3GCC 4.8.1612182430SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 327.4627.0321.4517.021. (CC) gcc options: -lm -lpthread -O3 -march=core-avx2

FFmpeg

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 1.1H.264 HD To NTSC DVLLVM Clang 3.3GCC 4.7.3GCC 4.8.1LLVM Clang 3.23691215SE +/- 0.12, N = 3SE +/- 0.08, N = 3SE +/- 0.06, N = 3SE +/- 0.04, N = 313.1812.8612.8112.77-Qunused-arguments-fno-tree-vectorize -MF -MT-fno-tree-vectorize -MF -MT-Qunused-arguments1. (CC) gcc options: -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -ldl -lasound -lSDL -lm -pthread -lbz2 -march=core-avx2 -O3 -std=c99 -fomit-frame-pointer -fno-math-errno -fno-signed-zeros -MMD

Smallpt

Smallpt is a C++ global illumination renderer written in less than 100 lines of code. Global illumination is done via unbiased Monte Carlo path tracing and there is multi-threading support via the OpenMP library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesLLVM Clang 3.3LLVM Clang 3.2GCC 4.8.1GCC 4.7.3306090120150SE +/- 1.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 314214025251. (CXX) g++ options: -fopenmp -march=core-avx2 -O3

Apache Benchmark

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.3Static Web Page ServingLLVM Clang 3.3GCC 4.7.3GCC 4.8.1LLVM Clang 3.26K12K18K24K30KSE +/- 280.78, N = 3SE +/- 51.73, N = 3SE +/- 36.32, N = 3SE +/- 32.41, N = 325295.8225743.9925786.1525888.951. (CC) gcc options: -shared -fPIC -pthread -march=core-avx2 -O3