GCC 6.1 Compiler Optimization Benchmarks

GCC 6.1.0 compiler benchmarks with different optimization flags. Intel Xeon E5-2687W v3 GCC compiler benchmarks on Debian. Tests by Michael Larabel of Phoronix for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1605083-HA-GCCOPTIMI43&rdt&grw.

GCC 6.1 Compiler Optimization BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen Resolution-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-OgIntel Xeon E5-2687W v3 @ 3.50GHz (20 Cores)MSI X99S SLI PLUS (MS-7885) v1.0Intel Xeon E7 v3/Xeon16384MBPNY CS1211 120GB + 80GB INTEL SSDSCKGW08AMD FirePro V7900 2048MBRealtek ALC892ASUS PB278Intel ConnectionDebian testing4.5.0-1-amd64 (x86_64)X Server 1.18.3modesetting 1.18.33.3 Mesa 11.1.3 Gallium 0.4GCC 6.1.0ext42560x1440OpenBenchmarking.orgCompiler Details- --disable-multilib --enable-checking=releaseProcessor Details- Scaling Governor: intel_pstate powersave

GCC 6.1 Compiler Optimization Benchmarksscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationhint: FLOATencode-flac: WAV To FLACencode-mp3: WAV To MP3hmmer: Pfam Database Searchhimeno: Poisson Pressure Solverbuild-imagemagick: Time To Compilebuild-php: Time To Compilegraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdingredis: LPOPredis: SADDredis: LPUSHredis: GETredis: SETpgbench: Buffer Test - Normal Load - Read Writepgbench: Buffer Test - Single Thread - Read Writepgbench: Buffer Test - Heavy Contention - Read Write-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1388.10547.58443.712440.962468.301039.94310268777.877.0112.4513.042113.0455.4018.1013814318019085655097.69615258.45584299.37631189.52584905.044281.30349.974539.621445.10614.59465.502511.392586.621047.43312975471.932150.96121.4582.861407.02545.51440.572565.942454.121028.95103731655.8546.7436.0213.82424.579.345.5882719711017547091.88491891.31476295.97548655.63479934.924468.97303.934840.761437.73551.44447.312609.452534.081046.36242450705.977.6815.1410.191060.9327.249.7613713516818776655900.13605722.93589230.57655681.23597265.484257.86351.474494.381426.80537.90461.552571.062534.231029.27317711776.836.6814.2611.631916.5638.5516.0813113417418682649030.83598759.46599526.56628643.96586099.294322.67363.874494.081442.30547.85458.562622.502531.291051.27312279718.276.8312.5213.081895.4555.4517.5913013617118583646935.48605861.48593409.02669846.73587251.754495.93351.894720.081421.80553.28468.612517.372519.721050.05309403432.897.0311.348.322019.6155.8917.9914414518220486656696.79616016.48598935.85631191.87588019.671426.79552.04456.352589.562482.131053.88303914359.3310.6216.2810.681181.1832.4311.6111012416818868642758.08607478.25598808.52645755.96596757.104275.85346.324497.151427.70546.26456.612580.322521.751033.56326497871.938.1117.158.231102.6413.358.1811310014916854637156.51582272.77602047.96652904.39592312.444364.38353.154538.18OpenBenchmarking.org

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Composite-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og30060090012001500SE +/- 4.89, N = 4SE +/- 7.57, N = 4SE +/- 8.59, N = 4SE +/- 1.73, N = 4SE +/- 7.42, N = 4SE +/- 2.58, N = 4SE +/- 5.38, N = 4SE +/- 2.83, N = 4SE +/- 3.98, N = 41388.101445.101407.021437.731426.801442.301421.801426.791427.70-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options:

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte Carlo-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og130260390520650SE +/- 5.84, N = 4SE +/- 6.00, N = 4SE +/- 6.16, N = 4SE +/- 1.22, N = 4SE +/- 9.59, N = 4SE +/- 3.64, N = 4SE +/- 1.67, N = 4SE +/- 1.68, N = 4SE +/- 5.79, N = 4547.58614.59545.51551.44537.90547.85553.28552.04546.26-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options:

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier Transform-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og100200300400500SE +/- 1.70, N = 4SE +/- 3.19, N = 4SE +/- 5.60, N = 4SE +/- 3.48, N = 4SE +/- 2.20, N = 4SE +/- 2.05, N = 4SE +/- 0.63, N = 4SE +/- 1.29, N = 4SE +/- 3.34, N = 4443.71465.50440.57447.31461.55458.56468.61456.35456.61-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options:

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix Multiply-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og6001200180024003000SE +/- 12.32, N = 4SE +/- 24.76, N = 4SE +/- 9.07, N = 4SE +/- 3.88, N = 4SE +/- 32.30, N = 4SE +/- 9.06, N = 4SE +/- 19.13, N = 4SE +/- 21.77, N = 4SE +/- 13.12, N = 42440.962511.392565.942609.452571.062622.502517.372589.562580.32-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options:

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix Factorization-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og6001200180024003000SE +/- 10.80, N = 4SE +/- 28.87, N = 4SE +/- 26.42, N = 4SE +/- 7.15, N = 4SE +/- 3.32, N = 4SE +/- 7.24, N = 4SE +/- 11.60, N = 4SE +/- 18.22, N = 4SE +/- 4.63, N = 42468.302586.622454.122534.082534.232531.292519.722482.132521.75-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options:

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-Relaxation-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og2004006008001000SE +/- 6.48, N = 4SE +/- 6.06, N = 4SE +/- 9.29, N = 4SE +/- 3.32, N = 4SE +/- 12.72, N = 4SE +/- 2.16, N = 4SE +/- 0.76, N = 4SE +/- 1.16, N = 4SE +/- 8.62, N = 41039.941047.431028.951046.361029.271051.271050.051053.881033.56-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options:

Hierarchical INTegration

Test: FLOAT

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOAT-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og70M140M210M280M350MSE +/- 619811.97, N = 3SE +/- 100984.48, N = 3SE +/- 246206.62, N = 3SE +/- 222306.33, N = 3SE +/- 1047951.03, N = 3SE +/- 978215.41, N = 3SE +/- 547786.00, N = 3SE +/- 119724.21, N = 3SE +/- 179064.26, N = 3310268777.87312975471.93103731655.85242450705.97317711776.83312279718.27309403432.89303914359.33326497871.93-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -lm

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLAC-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1122334455SE +/- 0.10, N = 5SE +/- 0.12, N = 5SE +/- 0.04, N = 5SE +/- 0.07, N = 5SE +/- 0.04, N = 5SE +/- 0.04, N = 5SE +/- 0.05, N = 5SE +/- 0.07, N = 57.0146.747.686.686.837.0310.628.11-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CXX) g++ options: -fvisibility=hidden -lm

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og816243240SE +/- 0.10, N = 5SE +/- 0.09, N = 5SE +/- 0.08, N = 5SE +/- 0.10, N = 5SE +/- 0.09, N = 5SE +/- 0.07, N = 5SE +/- 0.06, N = 5SE +/- 0.06, N = 512.4536.0215.1414.2612.5211.3416.2817.15-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -pipe -lm

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database Search-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og48121620SE +/- 0.68, N = 6SE +/- 0.01, N = 3SE +/- 0.16, N = 6SE +/- 0.51, N = 6SE +/- 0.35, N = 6SE +/- 0.27, N = 6SE +/- 0.19, N = 3SE +/- 0.05, N = 313.0413.8210.1911.6313.088.3210.688.23-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -pthread -lhmmer -lsquid -lm

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure Solver-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og5001000150020002500SE +/- 9.13, N = 3SE +/- 7.85, N = 3SE +/- 0.64, N = 3SE +/- 1.09, N = 3SE +/- 4.78, N = 3SE +/- 6.74, N = 3SE +/- 3.96, N = 3SE +/- 3.40, N = 3SE +/- 1.19, N = 32113.042150.96424.571060.931916.561895.452019.611181.181102.64-march=native-march=native -flto-O0-O1-O2-Ofast -march=native-Os-Og1. (CC) gcc options: -O3 -mavx2

Timed ImageMagick Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed ImageMagick Compilation 6.9.0Time To Compile-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og306090120150SE +/- 0.23, N = 3SE +/- 0.25, N = 3SE +/- 0.10, N = 3SE +/- 0.21, N = 3SE +/- 0.06, N = 3SE +/- 0.14, N = 3SE +/- 0.09, N = 3SE +/- 0.08, N = 3SE +/- 0.13, N = 355.40121.459.3427.2438.5555.4555.8932.4313.35

Timed PHP Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To Compile-O3 -march=native-O3 -march=native -flto-O0-O1-O2-O3-Ofast -march=native-Os-Og20406080100SE +/- 0.19, N = 3SE +/- 0.10, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.04, N = 3SE +/- 0.06, N = 3SE +/- 0.01, N = 318.1082.865.589.7616.0817.5917.9911.618.18-O3 -march=native-O3 -march=native -flto-O1-O2-O3-Ofast -march=native-Os1. (CC) gcc options: -pedantic -ldl -lz -lm

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Blur-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og306090120150SE +/- 1.20, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 1.53, N = 313882137131130144110113-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -fopenmp -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Sharpen-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og306090120150SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 314371135134136145124100-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -fopenmp -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Resizing-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og4080120160200SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 1.00, N = 3SE +/- 0.67, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 0.33, N = 318097168174171182168149-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -fopenmp -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color Space-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og4080120160200SE +/- 0.58, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3190110187186185204188168-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -fopenmp -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive Thresholding-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og20406080100SE +/- 0.58, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 38517768283866854-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og1. (CC) gcc options: -fopenmp -pthread -lXext -lSM -lICE -lX11 -lz -lm -ldl -lpthread

Redis

Test: LPOP

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPOP-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og140K280K420K560K700KSE +/- 10960.53, N = 3SE +/- 3542.72, N = 3SE +/- 2503.49, N = 3SE +/- 5733.33, N = 3SE +/- 11650.40, N = 6SE +/- 5651.00, N = 3SE +/- 12533.78, N = 3SE +/- 8860.98, N = 6655097.69547091.88655900.13649030.83646935.48656696.79642758.08637156.511. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: SADD

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SADD-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og130K260K390K520K650KSE +/- 126.17, N = 3SE +/- 1350.43, N = 3SE +/- 2982.88, N = 3SE +/- 9681.71, N = 3SE +/- 3715.65, N = 3SE +/- 126.46, N = 3SE +/- 4522.27, N = 3SE +/- 11078.60, N = 6615258.45491891.31605722.93598759.46605861.48616016.48607478.25582272.771. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: LPUSH

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPUSH-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og130K260K390K520K650KSE +/- 11218.12, N = 6SE +/- 2663.98, N = 3SE +/- 8590.61, N = 6SE +/- 1359.59, N = 3SE +/- 4012.35, N = 3SE +/- 2036.63, N = 3SE +/- 1356.34, N = 3SE +/- 553.25, N = 3584299.37476295.97589230.57599526.56593409.02598935.85598808.52602047.961. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: GET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GET-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og140K280K420K560K700KSE +/- 10870.06, N = 4SE +/- 1566.53, N = 3SE +/- 5335.15, N = 3SE +/- 5831.74, N = 3SE +/- 4253.76, N = 3SE +/- 6785.13, N = 3SE +/- 3565.12, N = 3SE +/- 2604.35, N = 3631189.52548655.63655681.23628643.96669846.73631191.87645755.96652904.391. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: SET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SET-O3 -march=native-O0-O1-O2-O3-Ofast -march=native-Os-Og130K260K390K520K650KSE +/- 8041.99, N = 3SE +/- 7680.16, N = 3SE +/- 1956.89, N = 3SE +/- 6845.46, N = 3SE +/- 8111.26, N = 5SE +/- 2097.48, N = 3SE +/- 5397.69, N = 3SE +/- 1909.49, N = 3584905.04479934.92597265.48586099.29587251.75588019.67596757.10592312.441. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

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 Write-O3 -march=native-O0-O1-O2-O3-Os-Og10002000300040005000SE +/- 18.80, N = 3SE +/- 44.94, N = 3SE +/- 80.41, N = 6SE +/- 62.15, N = 5SE +/- 64.78, N = 6SE +/- 32.55, N = 3SE +/- 64.39, N = 54281.304468.974257.864322.674495.934275.854364.38-O3 -march=native-O0-O1-O2-O3-Os-Og1. (CC) gcc options: -fno-strict-aliasing -fwrapv -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

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 Write-O3 -march=native-O0-O1-O2-O3-Os-Og80160240320400SE +/- 1.70, N = 3SE +/- 4.48, N = 6SE +/- 5.58, N = 3SE +/- 2.06, N = 3SE +/- 2.78, N = 3SE +/- 4.13, N = 3SE +/- 5.68, N = 6349.97303.93351.47363.87351.89346.32353.15-O3 -march=native-O0-O1-O2-O3-Os-Og1. (CC) gcc options: -fno-strict-aliasing -fwrapv -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write-O3 -march=native-O0-O1-O2-O3-Os-Og10002000300040005000SE +/- 66.74, N = 3SE +/- 21.91, N = 3SE +/- 67.44, N = 4SE +/- 19.05, N = 3SE +/- 40.24, N = 3SE +/- 27.80, N = 3SE +/- 54.29, N = 34539.624840.764494.384494.084720.084497.154538.18-O3 -march=native-O0-O1-O2-O3-Os-Og1. (CC) gcc options: -fno-strict-aliasing -fwrapv -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm


Phoronix Test Suite v10.8.4