GCC 4.9 vs. 4.10 vs. LLVM Clang 3.5 3.5 Compiler Testing

GCC 4.10 vs. LLVM Clang 3.5 compiler benchmarks by Michael Larabel for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1406154-KH-LLVMGCC9828&sor&grw.

GCC 4.9 vs. 4.10 vs. LLVM Clang 3.5 3.5 Compiler TestingProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay DriverCompilerFile-SystemScreen ResolutionGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneIntel Core i7-4790K @ 4.00GHz (8 Cores)ASRock Z97 Extreme6Intel 4th Gen Core DRAM16384MB128GB Crucial_CT128MX1Intel HD 4600Intel Xeon E3-1200 v3/4thIntel ConnectionUbuntu 14.043.15.0-031500-generic (x86_64)Unity 7.2.1intel 2.99.912GCC 4.9.0ext41024x768GCC 4.10.0 20140608Clang 3.4 + LLVM 3.4Clang 3.5.0 (SVN 210989) + LLVM 3.5.0svnOpenBenchmarking.orgCompiler Details- GCC 4.9.0: --enable-checking=release --enable-languages=c,c++- GCC 4.10 20140608: --enable-checking=release --enable-languages=c,c++- LLVM Clang 3.4: Optimized build; Built Jun 15 2014 (08:33:04); Default target: x86_64-unknown-linux-gnu; Host CPU: core-avx2- LLVM Clang 3.5 SVN 15 June: Optimized build; Built Jun 15 2014 (09:49:44); Default target: x86_64-unknown-linux-gnu; Host CPU: core-avx2Processor Details- Scaling Governor: acpi-cpufreq ondemand

GCC 4.9 vs. 4.10 vs. LLVM Clang 3.5 3.5 Compiler Testingbullet: Raytestsbullet: 3000 Fallbullet: 1000 Stackbullet: 1000 Convexbullet: 136 Ragdollsbullet: Prim Trimeshbullet: Convex Trimeshscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationhint: DOUBLEencode-flac: WAV To FLACencode-mp3: WAV To MP3hmmer: Pfam Database Searchhimeno: Poisson Pressure Solverlammps: Rhodopsin Proteinbuild-apache: Time To Compilegraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdingc-ray: Total TimeGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June2.624.314.914.612.890.931.151690.37699.17331.852751.943339.321329.58872050436.533.749.888.652229.3728.8921.8418314522024311120.072.614.294.874.622.860.921.141693.30698.21333.272729.723375.871329.46859983941.753.729.778.632343.1828.4121.6118414622024411620.042.644.285.044.822.810.931.132309.39699.95333.462824.175793.461895.94696839588.603.869.648.512290.7624.6914.33956213916810723.552.644.315.004.842.830.931.142289.74699.93331.502740.875781.161895.21741750449.693.939.798.532343.2824.6615.19956213817510923.50OpenBenchmarking.org

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June0.5941.1881.7822.3762.97SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 32.612.622.642.641. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 3000 Fall

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 3000 FallLLVM Clang 3.4GCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 June0.96981.93962.90943.87924.849SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 34.284.294.314.311. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Stack

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 StackGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.41.1342.2683.4024.5365.67SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 34.874.915.005.041. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Convex

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 ConvexGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June1.0892.1783.2674.3565.445SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 34.614.624.824.841. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 136 Ragdolls

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 136 RagdollsLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.10 20140608GCC 4.9.00.65031.30061.95092.60123.2515SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 32.812.832.862.891. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Prim Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Prim TrimeshGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June0.20930.41860.62790.83721.0465SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 30.920.930.930.931. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Convex Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Convex TrimeshLLVM Clang 3.4GCC 4.10 20140608LLVM Clang 3.5 SVN 15 JuneGCC 4.9.00.25880.51760.77641.03521.294SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31.131.141.141.151. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.10 20140608GCC 4.9.05001000150020002500SE +/- 11.73, N = 4SE +/- 14.69, N = 4SE +/- 0.54, N = 4SE +/- 0.93, N = 42309.392289.741693.301690.37

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.9.0GCC 4.10 20140608150300450600750SE +/- 0.00, N = 4SE +/- 0.01, N = 4SE +/- 0.02, N = 4SE +/- 0.00, N = 4699.95699.93699.17698.21

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformLLVM Clang 3.4GCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 June70140210280350SE +/- 0.42, N = 4SE +/- 0.90, N = 4SE +/- 0.97, N = 4SE +/- 0.61, N = 4333.46333.27331.85331.50

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyLLVM Clang 3.4GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneGCC 4.10 201406086001200180024003000SE +/- 54.95, N = 4SE +/- 4.29, N = 4SE +/- 58.98, N = 4SE +/- 2.51, N = 42824.172751.942740.872729.72

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.10 20140608GCC 4.9.012002400360048006000SE +/- 22.22, N = 4SE +/- 17.98, N = 4SE +/- 4.20, N = 4SE +/- 7.47, N = 45793.465781.163375.873339.32

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.9.0GCC 4.10 20140608400800120016002000SE +/- 0.11, N = 4SE +/- 0.03, N = 4SE +/- 0.14, N = 4SE +/- 0.09, N = 41895.941895.211329.581329.46

Hierarchical INTegration

Test: DOUBLE

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: DOUBLEGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.4200M400M600M800M1000MSE +/- 542033.71, N = 3SE +/- 2159915.52, N = 3SE +/- 2600558.73, N = 3SE +/- 1349547.65, N = 3872050436.53859983941.75741750449.69696839588.601. (CC) gcc options: -O3 -march=native -lm

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.0WAV To FLACGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June0.88431.76862.65293.53724.4215SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 53.723.743.863.931. (CXX) g++ options: -O2 -fvisibility=hidden -logg -lm

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3LLVM Clang 3.4GCC 4.10 20140608LLVM Clang 3.5 SVN 15 JuneGCC 4.9.03691215SE +/- 0.02, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.02, N = 59.649.779.799.88-funroll-loops-fomit-frame-pointer-funroll-loops-fomit-frame-pointer1. (CC) gcc options: -O3 -ffast-math -pipe -lncurses -lm

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.10 20140608GCC 4.9.0246810SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 38.518.538.638.651. (CC) gcc options: -O2 -pthread -lhmmer -lsquid -lm

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverLLVM Clang 3.5 SVN 15 JuneGCC 4.10 20140608LLVM Clang 3.4GCC 4.9.05001000150020002500SE +/- 7.10, N = 3SE +/- 3.61, N = 3SE +/- 34.56, N = 3SE +/- 36.47, N = 42343.282343.182290.762229.371. (CC) gcc options: -O3

LAMMPS Molecular Dynamics Simulator

Test: Rhodopsin Protein

OpenBenchmarking.orgLoop Time, Fewer Is BetterLAMMPS Molecular Dynamics Simulator 1.0Test: Rhodopsin ProteinLLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.4GCC 4.10 20140608GCC 4.9.0714212835SE +/- 0.08, N = 3SE +/- 0.02, N = 3SE +/- 0.06, N = 3SE +/- 0.20, N = 324.6624.6928.4128.891. (CXX) g++ options: -lfftw -lmpich

Timed Apache Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileLLVM Clang 3.4LLVM Clang 3.5 SVN 15 JuneGCC 4.10 20140608GCC 4.9.0510152025SE +/- 0.09, N = 3SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.10, N = 314.3315.1921.6121.84

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.44080120160200SE +/- 0.00, N = 3SE +/- 0.58, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31841839595-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: SharpenGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.4306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31461456262-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: ResizingGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June50100150200250SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3220220139138-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color SpaceGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.450100150200250SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3244243175168-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive ThresholdingGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.4306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3116111109107-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeGCC 4.10 20140608GCC 4.9.0LLVM Clang 3.5 SVN 15 JuneLLVM Clang 3.4612182430SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 320.0420.0723.5023.551. (CC) gcc options: -lm -lpthread -O3


Phoronix Test Suite v10.8.4