GCC Clang Intel Skylake Compiler Perf

GCC vs. LLVM Clang on Intel Core i5 Skylake system. Benchmarks by Michael Larabel for a future article on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/2311041-WKG2-150904017&sor&gru.

GCC Clang Intel Skylake Compiler PerfProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionGCC 4.9.3GCC 5.2.0GCC 6.0.0 20150830Clang 3.8 SVNClang 3.8 SVN OMPIntel Core i5-6600K @ 3.50GHz (4 Cores)MSI Z170A GAMING PRO (MS-7984) v1.0Intel Sky Lake15360MB256GB TS256GSSD370SIntel Sky Lake (1150MHz)Realtek ALC1150DELL P2210HIntel ConnectionUbuntu 15.104.2.0-999-generic (x86_64) 20150901Xfce 4.12X Server 1.17.2intel 2.99.9173.3 Mesa 10.6.5GCC 4.9.3ext41920x1080GCC 5.2.0GCC 6.0.0 20150830Clang 3.8.0 (SVN 246796) + LLVM 3.8.0svnOpenBenchmarking.orgKernel Details- i915.preliminary_hw_support=1Compiler Details- GCC 4.9.3: --disable-multilib --enable-checking=release --enable-languages=c,c++- GCC 5.2.0: --disable-multilib --enable-checking=release --enable-languages=c,c++- GCC 6.0.0 20150830: --disable-multilib --enable-checking=release --enable-languages=c,c++- Clang 3.8 SVN: Optimized build; Built Sep 3 2015 (15:42:57); Default target: x86_64-unknown-linux-gnu; Host CPU: skylake- Clang 3.8 SVN OMP: Optimized build; Built Sep 3 2015 (15:42:57); Default target: x86_64-unknown-linux-gnu; Host CPU: skylakeProcessor Details- Scaling Governor: acpi-cpufreq ondemand

GCC Clang Intel Skylake Compiler Perfx264: H.264 Video Encodingscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationhimeno: Poisson Pressure Solverhint: FLOATjohn-the-ripper: Blowfishjohn-the-ripper: Traditional DESjohn-the-ripper: MD5apache: Static Web Page Servingrodinia: OpenMP LavaMDrodinia: OpenMP CFD Solverrodinia: OpenMP Streamclusterhmmer: Pfam Database Searchc-ray: Total Timesmallpt: Global Illumination Renderer; 100 Samplesencode-flac: WAV To FLACencode-mp3: WAV To MP3GCC 4.9.3GCC 5.2.0GCC 6.0.0 20150830Clang 3.8 SVNClang 3.8 SVN OMP169.171594.66743.37373.002739.392992.341125.202763.07394717206.914755244840007654444411.00215.6765.9835.279.3315.17284.9310.61171.091594.01754.86372.762749.082968.231125.112744.76402676204.804760250253337700441662.12216.2065.1835.019.1615.11284.9710.77171.241584.33750.18374.272693.952979.521125.232720.00404526879.234782251413337690243039.62215.7263.2735.009.2415.09284.9410.56167.172467.10644.15383.762721.337111.791474.451976.57293947985.31122462913331668444513.53856.60183.97128.849.5234.591235.1411.331224628366716670857.02184.63128.2031OpenBenchmarking.org

x264

H.264 Video Encoding

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2014-08-30H.264 Video EncodingGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVN4080120160200SE +/- 0.43, N = 5SE +/- 0.39, N = 5SE +/- 0.56, N = 5SE +/- 0.27, N = 5171.24171.09169.17167.171. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -march=native -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeClang 3.8 SVNGCC 4.9.3GCC 5.2.0GCC 6.0.0 201508305001000150020002500SE +/- 1.28, N = 4SE +/- 0.46, N = 4SE +/- 1.66, N = 4SE +/- 0.86, N = 42467.101594.661594.011584.331. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloGCC 5.2.0GCC 6.0.0 20150830GCC 4.9.3Clang 3.8 SVN160320480640800SE +/- 0.02, N = 4SE +/- 0.00, N = 4SE +/- 0.01, N = 4SE +/- 0.05, N = 4754.86750.18743.37644.151. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformClang 3.8 SVNGCC 6.0.0 20150830GCC 4.9.3GCC 5.2.080160240320400SE +/- 0.82, N = 4SE +/- 0.67, N = 4SE +/- 1.15, N = 4SE +/- 0.57, N = 4383.76374.27373.00372.761. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyGCC 5.2.0GCC 4.9.3Clang 3.8 SVNGCC 6.0.0 201508306001200180024003000SE +/- 1.46, N = 4SE +/- 2.49, N = 4SE +/- 2.25, N = 4SE +/- 2.13, N = 32749.082739.392721.332693.951. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationClang 3.8 SVNGCC 4.9.3GCC 6.0.0 20150830GCC 5.2.015003000450060007500SE +/- 5.00, N = 4SE +/- 0.38, N = 4SE +/- 2.56, N = 4SE +/- 7.45, N = 47111.792992.342979.522968.231. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationClang 3.8 SVNGCC 6.0.0 20150830GCC 4.9.3GCC 5.2.030060090012001500SE +/- 0.06, N = 4SE +/- 0.01, N = 4SE +/- 0.12, N = 4SE +/- 0.03, N = 41474.451125.231125.201125.111. (CXX) g++ options: -O3 -march=native

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverGCC 4.9.3GCC 5.2.0GCC 6.0.0 20150830Clang 3.8 SVN6001200180024003000SE +/- 0.74, N = 3SE +/- 14.56, N = 3SE +/- 3.11, N = 3SE +/- 1.58, N = 32763.072744.762720.001976.571. (CC) gcc options: -O3 -march=native

Hierarchical INTegration

Test: FLOAT

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOATGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVN90M180M270M360M450MSE +/- 358895.73, N = 3SE +/- 279552.00, N = 3SE +/- 252594.71, N = 3SE +/- 129692.07, N = 3404526879.23402676204.80394717206.91293947985.311. (CC) gcc options: -O3 -march=native -lm

John The Ripper

Test: Blowfish

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.8.0Test: BlowfishGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVN OMPClang 3.8 SVN10002000300040005000SE +/- 1.67, N = 3SE +/- 4.10, N = 3SE +/- 3.00, N = 3SE +/- 1.86, N = 3SE +/- 0.67, N = 3478247604755122412241. (CC) gcc options: -fopenmp -lcrypt

John The Ripper

Test: Traditional DES

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.8.0Test: Traditional DESGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVNClang 3.8 SVN OMP5M10M15M20M25MSE +/- 10397.65, N = 3SE +/- 72723.98, N = 3SE +/- 175214.15, N = 3SE +/- 2333.33, N = 3SE +/- 666.67, N = 3251413332502533324484000629133362836671. (CC) gcc options: -fopenmp -lcrypt

John The Ripper

Test: MD5

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.8.0Test: MD5GCC 5.2.0GCC 6.0.0 20150830GCC 4.9.3Clang 3.8 SVNClang 3.8 SVN OMP16K32K48K64K80KSE +/- 0.00, N = 3SE +/- 51.00, N = 3SE +/- 51.00, N = 3SE +/- 0.33, N = 3SE +/- 10.67, N = 377004769027654416684166701. (CC) gcc options: -fopenmp -lcrypt

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingClang 3.8 SVNGCC 4.9.3GCC 6.0.0 20150830GCC 5.2.010K20K30K40K50KSE +/- 388.92, N = 3SE +/- 154.80, N = 3SE +/- 1006.67, N = 6SE +/- 288.36, N = 344513.5344411.0043039.6241662.121. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native

Rodinia

Test: OpenMP LavaMD

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP LavaMDGCC 4.9.3GCC 6.0.0 20150830GCC 5.2.0Clang 3.8 SVNClang 3.8 SVN OMP2004006008001000SE +/- 0.20, N = 3SE +/- 0.14, N = 3SE +/- 0.09, N = 3SE +/- 0.10, N = 3SE +/- 0.35, N = 3215.67215.72216.20856.60857.021. (CXX) g++ options: -O2 -lOpenCL

Rodinia

Test: OpenMP CFD Solver

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP CFD SolverGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVNClang 3.8 SVN OMP4080120160200SE +/- 0.63, N = 3SE +/- 0.19, N = 3SE +/- 0.21, N = 3SE +/- 0.19, N = 3SE +/- 0.62, N = 363.2765.1865.98183.97184.631. (CXX) g++ options: -O2 -lOpenCL

Rodinia

Test: OpenMP Streamcluster

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP StreamclusterGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVN OMPClang 3.8 SVN306090120150SE +/- 0.01, N = 3SE +/- 0.05, N = 3SE +/- 0.04, N = 3SE +/- 0.06, N = 3SE +/- 0.58, N = 335.0035.0135.27128.20128.841. (CXX) g++ options: -O2 -lOpenCL

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchGCC 5.2.0GCC 6.0.0 20150830GCC 4.9.3Clang 3.8 SVN3691215SE +/- 0.00, N = 3SE +/- 0.06, N = 3SE +/- 0.05, N = 3SE +/- 0.03, N = 39.169.249.339.521. (CC) gcc options: -O3 -march=native -pthread -lhmmer -lsquid -lm

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeGCC 6.0.0 20150830GCC 5.2.0GCC 4.9.3Clang 3.8 SVN816243240SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 315.0915.1115.1734.591. (CC) gcc options: -lm -lpthread -O3 -march=native

Smallpt

Global Illumination Renderer; 100 Samples

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesGCC 4.9.3GCC 5.2.0GCC 6.0.0 20150830Clang 3.8 SVN OMPClang 3.8 SVN306090120150SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 328282831123-fopenmp=libomp -fno-exceptions1. (CXX) g++ options: -fopenmp -O3 -march=native

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLACGCC 4.9.3GCC 6.0.0 20150830GCC 5.2.0Clang 3.8 SVN1.15652.3133.46954.6265.7825SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 54.934.944.975.14-fvisibility=hidden-fvisibility=hidden-fvisibility=hidden-logg1. (CXX) g++ options: -O3 -march=native -lm

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3GCC 6.0.0 20150830GCC 4.9.3GCC 5.2.0Clang 3.8 SVN3691215SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 510.5610.6110.7711.331. (CC) gcc options: -pipe -O3 -march=native -lm


Phoronix Test Suite v10.8.4