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.

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 Testinglammps: Rhodopsin Proteinhmmer: Pfam Database Searchscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationgraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghimeno: Poisson Pressure Solverbuild-apache: Time To Compilec-ray: Total Timebullet: Raytestsbullet: 3000 Fallbullet: 1000 Stackbullet: 1000 Convexbullet: 136 Ragdollsbullet: Prim Trimeshbullet: Convex Trimeshencode-flac: WAV To FLACencode-mp3: WAV To MP3hint: DOUBLEGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June28.898.651690.37699.17331.852751.943339.321329.581831452202431112229.3721.8420.072.624.314.914.612.890.931.153.749.88872050436.5328.418.631693.30698.21333.272729.723375.871329.461841462202441162343.1821.6120.042.614.294.874.622.860.921.143.729.77859983941.7524.698.512309.39699.95333.462824.175793.461895.9495621391681072290.7614.3323.552.644.285.044.822.810.931.133.869.64696839588.6024.668.532289.74699.93331.502740.875781.161895.2195621381751092343.2815.1923.502.644.315.004.842.830.931.143.939.79741750449.69OpenBenchmarking.org

LAMMPS Molecular Dynamics Simulator

Test: Rhodopsin Protein

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

Timed HMMer Search

Pfam Database Search

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

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June5001000150020002500SE +/- 0.93, N = 4SE +/- 0.54, N = 4SE +/- 11.73, N = 4SE +/- 14.69, N = 41690.371693.302309.392289.74

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June150300450600750SE +/- 0.02, N = 4SE +/- 0.00, N = 4SE +/- 0.00, N = 4SE +/- 0.01, N = 4699.17698.21699.95699.93

SciMark

Computational Test: Fast Fourier Transform

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

SciMark

Computational Test: Sparse Matrix Multiply

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

SciMark

Computational Test: Dense LU Matrix Factorization

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

SciMark

Computational Test: Jacobi Successive Over-Relaxation

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

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June4080120160200SE +/- 0.58, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31831849595-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.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31451466262-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.9.0GCC 4.10 20140608LLVM 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.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June50100150200250SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3243244168175-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.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3111116107109-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

Himeno Benchmark

Poisson Pressure Solver

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

Timed Apache Compilation

Time To Compile

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

C-Ray

Total Time

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

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsGCC 4.9.0GCC 4.10 20140608LLVM 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.622.612.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 FallGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM 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.314.294.284.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.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June1.1342.2683.4024.5365.67SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 34.914.875.045.001. (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 RagdollsGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June0.65031.30061.95092.60123.2515SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 32.892.862.812.831. (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.9.0GCC 4.10 20140608LLVM 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.930.920.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 TrimeshGCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June0.25880.51760.77641.03521.294SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31.151.141.131.141. (CXX) g++ options: -O3 -rdynamic -lglut -lGL -lGLU

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.0WAV To FLACGCC 4.9.0GCC 4.10 20140608LLVM 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.743.723.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 MP3GCC 4.9.0GCC 4.10 20140608LLVM Clang 3.4LLVM Clang 3.5 SVN 15 June3691215SE +/- 0.02, N = 5SE +/- 0.01, N = 5SE +/- 0.02, N = 5SE +/- 0.01, N = 59.889.779.649.79-fomit-frame-pointer-fomit-frame-pointer-funroll-loops-funroll-loops1. (CC) gcc options: -O3 -ffast-math -pipe -lncurses -lm

Hierarchical INTegration

Test: DOUBLE

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


Phoronix Test Suite v10.8.4