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&sro&grw.

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

hint: FLOATencode-flac: WAV To FLACencode-mp3: WAV To MP3hmmer: Pfam Database Searchhimeno: Poisson Pressure Solverbuild-imagemagick: Time To Compilebuild-apache: Time To Compilebuild-php: Time To Compilegraphics-magick: Blurgraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdingc-ray: Total Timeredis: GETredis: SETGCCClang -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=native127505415.4837.5630.5026.89496.0612.2311.087.271071362261.531663526.961189110.86295705864.245.9713.258.861302.8324.9617.0013.351702269243.152953039.462175575.75370257620.555.2212.908.352429.3739.6723.1219.1216921310038.193007445.962136957.54408904948.744.8711.998.352653.0737.5722.8418.6817322810327.832951037.212076614.15381719210.595.1012.108.172485.1449.7024.8821.2117022810319.652910194.792183433.83407575756.084.8810.698.162689.9148.9725.1721.6817823410414.603116395.332104521.04392373251.204.899.518.002757.7749.9925.1621.7517723710413.923023321.582243907.58129742642.7547.9531.9523.23325.279.7810.936.44751002257.091864548.291263741.85335679881.796.9712.048.971931.0631.0718.8513.581501928932.343067218.961977929.48387996153.746.6612.178.292036.0036.5322.3616.9615019310037.292962310.252127555.19288801639.395.2612.038.291923.6438.4523.1017.921501969936.223102899.832064604.79386593550.686.7112.168.402001.7749.5922.8317.5915019210025.612923813.881962280.52296846752.575.1111.668.291962.7149.6323.0717.9015319610225.202862656.752037699.96295042490.705.0511.108.122114.8050.0223.1517.9515319810120.643100373.252078148.71OpenBenchmarking.org

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

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

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

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

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

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 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 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

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

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

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


Phoronix Test Suite v10.8.4