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 Haswellsmallpt: Global Illumination Renderer; 100 Samplesprimesieve: 1e12 Prime Number Generationbuild-imagemagick: Time To Compilebuild-php: Time To Compilec-ray: Total Timescimark2: Jacobi Successive Over-Relaxationblake2: Phoronix Test Suite v4.8.0m0scimark2: Monte Carlomafft: Multiple Sequence Alignmenthimeno: Poisson Pressure Solverhmmer: Pfam Database Searchencode-mp3: WAV To MP3scimark2: Sparse Matrix Multiplyscimark2: Fast Fourier Transformtscp: AI Chess Performancetachyon: Total Timescimark2: Dense LU Matrix Factorizationffmpeg: H.264 HD To NTSC DVapache: Static Web Page Servingx264: H.264 Video EncodingGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.32579.3693.6732.9221.451163.525.32450.215.271663.9710.411177.86251.676316261861.5512.8625743.99155.332579.2478.6133.3017.021164.635.30615.325.171593.0910.301123.80245.005994551773.3512.8125786.15156.3414031.9419.5927.461670.777.54615.045.961532.5111.9212.741234.19246.7962432310.441774.0312.7725888.95155.35142326.8534.3521.0327.031666.247.45619.776.191419.9010.9414.451263.29237.8662474910.981827.3413.1825295.82153.15OpenBenchmarking.org

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 SamplesGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3306090120150SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 1.33, N = 325251401421. (CXX) g++ options: -fopenmp -march=core-avx2 -O3

Primesieve

OpenBenchmarking.orgSeconds, Fewer Is BetterPrimesieve 4.21e12 Prime Number GenerationGCC 4.7.3GCC 4.8.1LLVM Clang 3.370140210280350SE +/- 0.06, N = 3SE +/- 0.08, N = 3SE +/- 2.08, N = 379.3679.24326.85-fopenmp-fopenmp1. (CXX) g++ options: -O2

Timed ImageMagick Compilation

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

Timed PHP Compilation

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

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 TimeGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3612182430SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 321.4517.0227.4627.031. (CC) gcc options: -lm -lpthread -O3 -march=core-avx2

SciMark

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

BLAKE2

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

SciMark

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

Timed MAFFT Alignment

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed MAFFT Alignment 6.864Multiple Sequence AlignmentGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3246810SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.10, N = 3SE +/- 0.12, N = 35.275.175.966.191. (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 SolverGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.3400800120016002000SE +/- 0.19, N = 3SE +/- 20.45, N = 3SE +/- 2.02, N = 3SE +/- 13.80, N = 31663.971593.091532.511419.901. (CC) gcc options: -O3 -march=core-avx2

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 SearchGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.33691215SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.18, N = 410.4110.3011.9210.941. (CC) gcc options: -march=core-avx2 -O3 -pthread -lhmmer -lsquid -lm

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.2LLVM Clang 3.348121620SE +/- 0.01, N = 5SE +/- 0.01, N = 512.7414.451. (CC) gcc options: -pipe -march=core-avx2 -O3 -lm

SciMark

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

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.350100150200250SE +/- 0.68, N = 4SE +/- 0.34, N = 4SE +/- 1.60, N = 4SE +/- 0.98, N = 4251.67245.00246.79237.86

TSCP

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

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.2LLVM Clang 3.33691215SE +/- 0.06, N = 3SE +/- 0.24, N = 610.4410.981. (CC) gcc options: -m32 -O3 -fomit-frame-pointer -ffast-math -ltachyon -lm -lpthread

SciMark

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

FFmpeg

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 1.1H.264 HD To NTSC DVGCC 4.7.3GCC 4.8.1LLVM Clang 3.2LLVM Clang 3.33691215SE +/- 0.08, N = 3SE +/- 0.06, N = 3SE +/- 0.04, N = 3SE +/- 0.12, N = 312.8612.8112.7713.18-fno-tree-vectorize -MF -MT-fno-tree-vectorize -MF -MT-Qunused-arguments-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

Apache Benchmark

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

x264

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