GCC 7 Early Compiler Benchmarking

Benchmarks by Michael Larabel for a future article on phoronix looking at early GCC 7 compiler performance compared to GCC 6 and GCC 5.

HTML result view exported from: https://openbenchmarking.org/result/1609116-LO-GCC7EARLY75&grs&sro.

GCC 7 Early Compiler BenchmarkingProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904Intel Xeon E5-2609 v4 @ 1.70GHz (8 Cores)MSI X99A WORKSTATION (MS-7A54) v1.0Intel Xeon E7 v4/Xeon16384MB3 x 120GB TOSHIBA-TR150LLVMpipeRealtek ALC1150Intel ConnectionUbuntu 16.044.8.0-999-generic (x86_64) 20160908Unity 7.4.0X Server 1.18.3modesetting 1.18.33.3 Mesa 11.2.0 Gallium 0.4GCC 5.4.0ext41024x768GCC 6.2.0GCC 7.0.0 20160904OpenBenchmarking.orgEnvironment Details- LIBGL_ALWAYS_SOFTWARE=1Compiler Details- --disable-multilib --enable-checking=release --enable-languages=c,c++,fortranDisk Details- CFQ / data=ordered,errors=remount-ro,relatime,rwProcessor Details- Scaling Governor: intel_pstate powersave

GCC 7 Early Compiler Benchmarkingsmallpt: Global Illumination Renderer; 100 Samplesbuild-imagemagick: Time To Compilerodinia: OpenMP CFD Solverscimark2: Sparse Matrix Multiplyhimeno: Poisson Pressure Solverscimark2: Dense LU Matrix Factorizationscimark2: Compositec-ray: Total Timen-queens: Elapsed Timehint: FLOATapache: Static Web Page Servingjohn-the-ripper: Blowfishscimark2: Fast Fourier Transformsqlite: Default Test Directoryencode-mp3: WAV To MP3build-php: Time To Compileredis: GETgraphics-magick: Local Adaptive Thresholdinggraphics-magick: Resizingfftw: Float + SSE - 2D FFT Size 4096bullet: 3000 Fallpgbench: Buffer Test - Normal Load - Read Writegraphics-magick: Sharpengraphics-magick: Blurpgbench: Buffer Test - Single Thread - Read Writefhourstones: Complex Connect-4 Solvinggraphics-magick: HWB Color Spacebullet: 136 Ragdollsredis: SETbullet: Raytestsclomp: Static OMP Speeduphmmer: Pfam Database Searchfftw: Float + SSE - 1D FFT Size 4096ebizzy: Phoronix Test Suite v6.6.0rodinia: OpenMP Streamclusterrodinia: OpenMP LavaMDopenssl: RSA 4096-bit Performanceencode-flac: WAV To FLACscimark2: Jacobi Successive Over-Relaxationscimark2: Monte Carlolammps: Rhodopsin Proteinmafft: Multiple Sequence AlignmentGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609044767.2169.461047.40893.821327.15695.7021.3057.53177738053.3227564.724141228.1837.3722.8435.311434042.9243977410.509.134468.827980552.556954.671046.45969029.105.945.6412.181096615536032.96311.83569.3713.45571.65304.1072.005.994794.5153.071280.021091.321302.74738.2121.2556.21166219905.0428383.224410232.1935.6422.4236.251408567.4144997515.989.114411.758080546.216884.931056.46972159.315.985.6512.181093615527332.91311.18569.2713.44572.05304.076.413081.2753.081290.941095.901596.90800.6423.3652.54165733740.3329512.134198239.2735.8722.0336.521393442.9644987517.949.014437.257981549.496905.301046.40965269.605.965.6212.221095115569232.88311.36570.2013.45572.06304.036.45OpenBenchmarking.org

Smallpt

Global Illumination Renderer; 100 Samples

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609041122334455SE +/- 0.33, N = 3SE +/- 0.88, N = 3SE +/- 0.00, N = 34747301. (CXX) g++ options: -fopenmp -O3 -march=native

Timed ImageMagick Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed ImageMagick Compilation 6.9.0Time To CompileGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090420406080100SE +/- 0.01, N = 3SE +/- 0.17, N = 3SE +/- 0.14, N = 367.2194.5181.27

Rodinia

Test: OpenMP CFD Solver

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP CFD SolverGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609041530456075SE +/- 0.12, N = 3SE +/- 0.09, N = 3SE +/- 0.05, N = 369.4653.0753.081. (CXX) g++ options: -O2 -lOpenCL

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090430060090012001500SE +/- 2.22, N = 4SE +/- 0.17, N = 4SE +/- 0.35, N = 41047.401280.021290.941. (CXX) g++ options: -O3 -march=native

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609042004006008001000SE +/- 0.49, N = 3SE +/- 1.34, N = 3SE +/- 0.65, N = 3893.821091.321095.901. (CC) gcc options: -O3 -march=native -mavx2

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090430060090012001500SE +/- 9.92, N = 4SE +/- 0.23, N = 4SE +/- 0.14, N = 41327.151302.741596.901. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609042004006008001000SE +/- 2.13, N = 4SE +/- 0.14, N = 4SE +/- 0.09, N = 4695.70738.21800.641. (CXX) g++ options: -O3 -march=native

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904612182430SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 321.3021.2523.361. (CC) gcc options: -lm -lpthread -O3 -march=native

N-Queens

Elapsed Time

OpenBenchmarking.orgSeconds, Fewer Is BetterN-Queens 1.0Elapsed TimeGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609041326395265SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 357.5356.2152.541. (CC) gcc options: -static -fopenmp -O3 -march=native

Hierarchical INTegration

Test: FLOAT

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOATGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090440M80M120M160M200MSE +/- 355658.03, N = 3SE +/- 165686.10, N = 3SE +/- 291268.73, N = 3177738053.32166219905.04165733740.331. (CC) gcc options: -O3 -march=native -lm

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609046K12K18K24K30KSE +/- 80.36, N = 3SE +/- 236.47, N = 3SE +/- 81.85, N = 327564.7228383.2229512.131. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native

John The Ripper

Test: Blowfish

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.8.0Test: BlowfishGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609049001800270036004500SE +/- 3.51, N = 3SE +/- 25.33, N = 3SE +/- 6.00, N = 34141441041981. (CC) gcc options: -fopenmp -lcrypt

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090450100150200250SE +/- 0.13, N = 4SE +/- 0.38, N = 4SE +/- 0.16, N = 4228.18232.19239.271. (CXX) g++ options: -O3 -march=native

SQLite

Test Target: Default Test Directory

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904918273645SE +/- 0.38, N = 3SE +/- 0.60, N = 4SE +/- 0.48, N = 637.3735.6435.871. (CC) gcc options: -O3 -march=native -ldl -lpthread

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3GCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904510152025SE +/- 0.01, N = 5SE +/- 0.03, N = 5SE +/- 0.01, N = 522.8422.4222.031. (CC) gcc options: -O3 -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -pipe -march=native -lm

Timed PHP Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To CompileGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904816243240SE +/- 0.06, N = 3SE +/- 0.09, N = 3SE +/- 0.05, N = 335.3136.2536.521. (CC) gcc options: -O3 -march=native -pedantic -ldl -lz -lm

Redis

Test: GET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904300K600K900K1200K1500KSE +/- 2474.75, N = 3SE +/- 9042.38, N = 3SE +/- 5158.54, N = 31434042.921408567.411393442.96-std=gnu99 -pipe -g3 -O3 -funroll-loops -march=native1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive ThresholdingGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609041020304050SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 34344441. (CC) gcc options: -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: ResizingGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090420406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 39799981. (CC) gcc options: -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

FFTW

Build: Float + SSE - Size: 2D FFT Size 4096

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.4Build: Float + SSE - Size: 2D FFT Size 4096GCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090416003200480064008000SE +/- 43.96, N = 5SE +/- 22.70, N = 5SE +/- 15.43, N = 57410.507515.987517.941. (CC) gcc options: -O3 -march=native -lm

Bullet Physics Engine

Test: 3000 Fall

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 3000 FallGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609043691215SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 39.139.119.011. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090410002000300040005000SE +/- 33.84, N = 3SE +/- 67.37, N = 5SE +/- 85.01, N = 34468.824411.754437.251. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: SharpenGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090420406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 37980791. (CC) gcc options: -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090420406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 38080811. (CC) gcc options: -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

PostgreSQL pgbench

Scaling: Buffer Test - Test: Single Thread - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: Buffer Test - Test: Single Thread - Mode: Read WriteGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904120240360480600SE +/- 5.89, N = 3SE +/- 1.53, N = 3SE +/- 0.66, N = 3552.55546.21549.491. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Fhourstones

Complex Connect-4 Solving

OpenBenchmarking.orgKpos / sec, More Is BetterFhourstones 3.1Complex Connect-4 SolvingGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090415003000450060007500SE +/- 5.88, N = 3SE +/- 11.54, N = 3SE +/- 10.00, N = 36954.676884.936905.301. (CC) gcc options: -O3

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color SpaceGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090420406080100SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 31041051041. (CC) gcc options: -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

Bullet Physics Engine

Test: 136 Ragdolls

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 136 RagdollsGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904246810SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 36.456.466.401. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Redis

Test: SET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904200K400K600K800K1000KSE +/- 4216.02, N = 3SE +/- 3624.82, N = 3SE +/- 2999.32, N = 3969029.10972159.31965269.60-std=gnu99 -pipe -g3 -O3 -funroll-loops -march=native1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609041.34552.6914.03655.3826.7275SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 35.945.985.961. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

CLOMP

Static OMP Speedup

OpenBenchmarking.orgSpeedup, More Is BetterCLOMP 3.3Static OMP SpeedupGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609041.27132.54263.81395.08526.3565SE +/- 0.03, N = 5SE +/- 0.04, N = 5SE +/- 0.04, N = 55.645.655.621. (CC) gcc options: --openmp -O3 -lm

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609043691215SE +/- 0.03, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 312.1812.1812.221. (CC) gcc options: -O3 -march=native -pthread -lhmmer -lsquid -lm

FFTW

Build: Float + SSE - Size: 1D FFT Size 4096

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.4Build: Float + SSE - Size: 1D FFT Size 4096GCC 5.4.0GCC 6.2.0GCC 7.0.0 201609042K4K6K8K10KSE +/- 68.86, N = 5SE +/- 44.65, N = 5SE +/- 50.75, N = 51096610936109511. (CC) gcc options: -O3 -march=native -lm

ebizzy

Phoronix Test Suite v6.6.0

OpenBenchmarking.orgRecords/s, More Is Betterebizzy 0.3Phoronix Test Suite v6.6.0GCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090430K60K90K120K150KSE +/- 87.83, N = 3SE +/- 68.34, N = 3SE +/- 360.05, N = 31553601552731556921. (CC) gcc options: -pthread -lpthread -O3 -march=native

Rodinia

Test: OpenMP Streamcluster

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP StreamclusterGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904816243240SE +/- 0.06, N = 3SE +/- 0.06, N = 3SE +/- 0.06, N = 332.9632.9132.881. (CXX) g++ options: -O2 -lOpenCL

Rodinia

Test: OpenMP LavaMD

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP LavaMDGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090470140210280350SE +/- 0.42, N = 3SE +/- 0.21, N = 3SE +/- 0.64, N = 3311.83311.18311.361. (CXX) g++ options: -O2 -lOpenCL

OpenSSL

RSA 4096-bit Performance

OpenBenchmarking.orgSigns Per Second, More Is BetterOpenSSL 1.0.1gRSA 4096-bit PerformanceGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904120240360480600SE +/- 0.58, N = 3SE +/- 1.31, N = 3SE +/- 0.25, N = 3569.37569.27570.201. (CC) gcc options: -m64 -O3 -lssl -lcrypto -ldl

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLACGCC 5.4.0GCC 6.2.0GCC 7.0.0 201609043691215SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 513.4513.4413.451. (CXX) g++ options: -O3 -march=native -fvisibility=hidden -lm

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904120240360480600SE +/- 0.41, N = 4SE +/- 0.00, N = 4SE +/- 0.01, N = 4571.65572.05572.061. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloGCC 5.4.0GCC 6.2.0GCC 7.0.0 2016090470140210280350SE +/- 0.00, N = 4SE +/- 0.00, N = 4SE +/- 0.00, N = 4304.10304.07304.031. (CXX) g++ options: -O3 -march=native

LAMMPS Molecular Dynamics Simulator

Test: Rhodopsin Protein

OpenBenchmarking.orgLoop Time, Fewer Is BetterLAMMPS Molecular Dynamics Simulator 1.0Test: Rhodopsin ProteinGCC 5.4.01632486480SE +/- 0.12, N = 372.001. (CXX) g++ options: -lfftw -lmpich

Timed MAFFT Alignment

Multiple Sequence Alignment

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed MAFFT Alignment 6.864Multiple Sequence AlignmentGCC 5.4.0GCC 6.2.0GCC 7.0.0 20160904246810SE +/- 0.03, N = 3SE +/- 0.19, N = 6SE +/- 0.10, N = 65.996.416.451. (CC) gcc options: -O3 -lm -lpthread


Phoronix Test Suite v10.8.5