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

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

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

FLAC Audio Encoding

WAV To FLAC

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

LAME MP3 Encoding

WAV To MP3

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

Timed HMMer Search

Pfam Database Search

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

Himeno Benchmark

Poisson Pressure Solver

GCCClangOpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure Solver-Ofast -march=native-O3 -march=native-O2 -march=native-O3-O2-O1-O06001200180024003000SE +/- 8.78, N = 3SE +/- 13.72, N = 3SE +/- 5.04, N = 3SE +/- 2.83, N = 3SE +/- 2.14, N = 3SE +/- 7.15, N = 3SE +/- 1.58, N = 3SE +/- 3.27, N = 3SE +/- 5.22, N = 3SE +/- 1.61, N = 3SE +/- 14.49, N = 3SE +/- 3.51, N = 3SE +/- 0.78, N = 3SE +/- 4.31, N = 32757.772689.912653.072485.142429.371302.83496.062114.802036.002001.771962.711931.061923.64325.271. (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 -march=native-O3-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.02, N = 3SE +/- 0.07, N = 3SE +/- 0.18, N = 39.7831.0736.5338.4549.5949.6350.0212.2324.9637.5739.6748.9749.7049.99

Timed Apache Compilation

Time To Compile

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

Timed PHP Compilation

Time To Compile

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

GraphicsMagick

Operation: Blur

GCCClangOpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Blur-O3 -march=native-Ofast -march=native-O2 -march=native-O3-O1-O2-O04080120160200SE +/- 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.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3178177173170170169107153153150150150150751. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: HWB Color Space

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

GraphicsMagick

Operation: Local Adaptive Thresholding

GCCClangOpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive Thresholding-Ofast -march=native-O3 -march=native-O3-O2 -march=native-O2-O1-O020406080100SE +/- 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.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 310410410310310092221021011001009989221. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread

C-Ray

Total Time

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

Redis

Test: GET

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

Redis

Test: SET

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


Phoronix Test Suite v10.8.4