Skylake Xeon GCC vs. Clang Compiler Optimization Tests

Intel Xeon E3-1280 v5 testing with a MSI C236A WORKSTATION. GCC versus LLVM Clang compiler optimization CFLAGS/CXXFLAGS benchmarks by Michael Larabel for a future article on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/1602297-GA-SKYLAKEXE76&grt&sro.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionGCCClang -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=nativeIntel Xeon E3-1280 v5 @ 4.00GHz (8 Cores)MSI C236A WORKSTATION (MS-7998) v1.0Intel Sky Lake16384MB120GB Samsung SSD 850MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MBRealtek ALC1150DELL P2415QIntel ConnectionUbuntu 16.044.4.0-7-generic (x86_64)Unity 7.4.0X Server 1.17.3radeon 7.6.14.1 Mesa 11.1.2 Gallium 0.4GCC 5.3.1 20160222ext43840x2160Clang 3.8.0-+rc2-1~exp1ubuntu2OpenBenchmarking.orgCompiler Details- GCC: -O0, GCC: -O1, GCC: -O2, GCC: -O2 -march=native, GCC: -O3, GCC: -O3 -march=native, GCC: -Ofast -march=native: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Processor Details- Scaling Governor: intel_pstate powersave

c-ray: Total Timeencode-flac: WAV To FLACgraphics-magick: Blurgraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghint: FLOAThimeno: Poisson Pressure Solverencode-mp3: WAV To MP3redis: GETredis: SETbuild-apache: Time To Compilehmmer: Pfam Database Searchbuild-imagemagick: Time To Compilebuild-php: Time To CompileGCCClang -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native61.5337.5610713622127505415.48496.0630.501663526.961189110.8611.0826.8912.237.2743.155.9717022692295705864.241302.8313.252953039.462175575.7517.008.8624.9613.3538.195.22169213100370257620.552429.3712.903007445.962136957.5423.128.3539.6719.1227.834.87173228103408904948.742653.0711.992951037.212076614.1522.848.3537.5718.6819.655.10170228103381719210.592485.1412.102910194.792183433.8324.888.1749.7021.2114.604.88178234104407575756.082689.9110.693116395.332104521.0425.178.1648.9721.6813.924.89177237104392373251.202757.779.513023321.582243907.5825.168.0049.9921.7557.0947.957510022129742642.75325.2731.951864548.291263741.8510.9323.239.786.4432.346.9715019289335679881.791931.0612.043067218.961977929.4818.858.9731.0713.5837.296.66150193100387996153.742036.0012.172962310.252127555.1922.368.2936.5316.9636.225.2615019699288801639.391923.6412.033102899.832064604.7923.108.2938.4517.9225.616.71150192100386593550.682001.7712.162923813.881962280.5222.838.4049.5917.5925.205.11153196102296846752.571962.7111.662862656.752037699.9623.078.2949.6317.9020.645.05153198101295042490.702114.8011.103100373.252078148.7123.158.1250.0217.95OpenBenchmarking.org

C-Ray

Total Time

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total Time-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native1428425670SE +/- 0.04, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.05, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 357.0932.3437.2936.2225.6125.2020.6461.5343.1538.1927.8319.6514.6013.921. (CC) gcc options: -lm -lpthread -O3

FLAC Audio Encoding

WAV To FLAC

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLAC-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native1122334455SE +/- 0.14, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.04, N = 5SE +/- 0.02, N = 5SE +/- 0.00, N = 5SE +/- 0.09, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.00, N = 5SE +/- 0.02, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 547.956.976.665.266.715.115.0537.565.975.224.875.104.884.891. (CXX) g++ options: -fvisibility=hidden -logg -lm

GraphicsMagick

Operation: Blur

ClangGCCOpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Blur-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native4080120160200SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3751501501501501531531071701691731701781771. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: HWB Color Space

ClangGCCOpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color Space-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native50100150200250SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 0.00, N = 3SE +/- 0.67, 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 = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 31001921931961921961981362262132282282342371. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

ClangGCCOpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive Thresholding-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native20406080100SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 322891009910010210122921001031031041041. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread

Hierarchical INTegration

Test: FLOAT

ClangGCCOpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOAT-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native90M180M270M360M450MSE +/- 202624.96, N = 3SE +/- 327258.73, N = 3SE +/- 684099.81, N = 3SE +/- 169985.20, N = 3SE +/- 732618.55, N = 3SE +/- 107212.94, N = 3SE +/- 189622.82, N = 3SE +/- 333507.82, N = 3SE +/- 261713.92, N = 3SE +/- 807099.70, N = 3SE +/- 839964.65, N = 3SE +/- 705518.12, N = 3SE +/- 469746.65, N = 3SE +/- 623958.85, N = 3129742642.75335679881.79387996153.74288801639.39386593550.68296846752.57295042490.70127505415.48295705864.24370257620.55408904948.74381719210.59407575756.08392373251.201. (CC) gcc options: -lm

Himeno Benchmark

Poisson Pressure Solver

ClangGCCOpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure Solver-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native6001200180024003000SE +/- 4.31, N = 3SE +/- 3.51, N = 3SE +/- 5.22, N = 3SE +/- 0.78, N = 3SE +/- 1.61, N = 3SE +/- 14.49, N = 3SE +/- 3.27, N = 3SE +/- 1.58, N = 3SE +/- 7.15, N = 3SE +/- 2.14, N = 3SE +/- 5.04, N = 3SE +/- 2.83, N = 3SE +/- 13.72, N = 3SE +/- 8.78, N = 3325.271931.062036.001923.642001.771962.712114.80496.061302.832429.372653.072485.142689.912757.771. (CC) gcc options: -O3 -mavx2

LAME MP3 Encoding

WAV To MP3

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native714212835SE +/- 0.09, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.03, N = 5SE +/- 0.02, N = 5SE +/- 0.02, N = 5SE +/- 0.01, N = 5SE +/- 0.07, N = 5SE +/- 0.00, N = 5SE +/- 0.03, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.02, N = 5SE +/- 0.01, N = 531.9512.0412.1712.0312.1611.6611.1030.5013.2512.9011.9912.1010.699.511. (CC) gcc options: -pipe -lncurses -lm

Redis

Test: GET

ClangGCCOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GET-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native700K1400K2100K2800K3500KSE +/- 5812.17, N = 3SE +/- 114553.51, N = 6SE +/- 107422.82, N = 6SE +/- 28358.49, N = 3SE +/- 100673.54, N = 6SE +/- 117026.48, N = 6SE +/- 43230.51, N = 5SE +/- 38735.61, N = 6SE +/- 149849.11, N = 6SE +/- 115634.67, N = 6SE +/- 147992.17, N = 6SE +/- 114387.02, N = 6SE +/- 112169.48, N = 6SE +/- 119850.30, N = 61864548.293067218.962962310.253102899.832923813.882862656.753100373.251663526.962953039.463007445.962951037.212910194.793116395.333023321.581. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: SET

ClangGCCOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SET-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native500K1000K1500K2000K2500KSE +/- 18772.48, N = 5SE +/- 89985.99, N = 6SE +/- 48427.64, N = 6SE +/- 37304.29, N = 3SE +/- 78877.64, N = 6SE +/- 55315.76, N = 6SE +/- 51322.74, N = 6SE +/- 18888.09, N = 6SE +/- 42146.85, N = 3SE +/- 42585.88, N = 3SE +/- 59339.63, N = 6SE +/- 5504.91, N = 3SE +/- 62171.83, N = 6SE +/- 9379.40, N = 31263741.851977929.482127555.192064604.791962280.522037699.962078148.711189110.862175575.752136957.542076614.152183433.832104521.042243907.581. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Timed Apache Compilation

Time To Compile

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To Compile-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native612182430SE +/- 0.12, N = 3SE +/- 0.03, N = 3SE +/- 0.06, N = 3SE +/- 0.04, N = 3SE +/- 0.04, N = 3SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.07, N = 3SE +/- 0.03, N = 3SE +/- 0.07, N = 3SE +/- 0.04, N = 3SE +/- 0.05, N = 3SE +/- 0.04, N = 310.9318.8522.3623.1022.8323.0723.1511.0817.0023.1222.8424.8825.1725.16

Timed HMMer Search

Pfam Database Search

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database Search-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native612182430SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.09, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 323.238.978.298.298.408.298.1226.898.868.358.358.178.168.001. (CC) gcc options: -pthread -lhmmer -lsquid -lm

Timed ImageMagick Compilation

Time To Compile

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterTimed ImageMagick Compilation 6.9.0Time To Compile-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native1122334455SE +/- 0.06, N = 3SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.17, N = 3SE +/- 0.12, N = 3SE +/- 0.05, N = 3SE +/- 0.10, N = 3SE +/- 0.04, N = 3SE +/- 0.04, N = 3SE +/- 0.04, N = 3SE +/- 0.04, N = 3SE +/- 0.07, N = 3SE +/- 0.02, N = 3SE +/- 0.18, N = 39.7831.0736.5338.4549.5949.6350.0212.2324.9639.6737.5749.7048.9749.99

Timed PHP Compilation

Time To Compile

ClangGCCOpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To Compile-O0-O1-O2-O2 -march=native-O3-O3 -march=native-Ofast -march=native510152025SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.08, N = 3SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.02, N = 36.4413.5816.9617.9217.5917.9017.957.2713.3519.1218.6821.2121.6821.751. (CC) gcc options: -pedantic -ldl -lz -lm


Phoronix Test Suite v10.8.4