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

graphics-magick: Blurgraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghimeno: Poisson Pressure Solverhint: FLOATredis: GETredis: SEThmmer: Pfam Database Searchbuild-apache: Time To Compilebuild-imagemagick: Time To Compilebuild-php: Time To Compilec-ray: Total Timeencode-flac: WAV To FLACencode-mp3: WAV To MP3GCCClang -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=native10713622496.06127505415.481663526.961189110.8626.8911.0812.237.2761.5337.5630.50170226921302.83295705864.242953039.462175575.758.8617.0024.9613.3543.155.9713.251692131002429.37370257620.553007445.962136957.548.3523.1239.6719.1238.195.2212.901732281032653.07408904948.742951037.212076614.158.3522.8437.5718.6827.834.8711.991702281032485.14381719210.592910194.792183433.838.1724.8849.7021.2119.655.1012.101782341042689.91407575756.083116395.332104521.048.1625.1748.9721.6814.604.8810.691772371042757.77392373251.203023321.582243907.588.0025.1649.9921.7513.924.899.517510022325.27129742642.751864548.291263741.8523.2310.939.786.4457.0947.9531.95150192891931.06335679881.793067218.961977929.488.9718.8531.0713.5832.346.9712.041501931002036.00387996153.742962310.252127555.198.2922.3636.5316.9637.296.6612.17150196991923.64288801639.393102899.832064604.798.2923.1038.4517.9236.225.2612.031501921002001.77386593550.682923813.881962280.528.4022.8349.5917.5925.616.7112.161531961021962.71296846752.572862656.752037699.968.2923.0749.6317.9025.205.1111.661531981012114.80295042490.703100373.252078148.718.1223.1550.0217.9520.645.0511.10OpenBenchmarking.org

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

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

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

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

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

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

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

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


Phoronix Test Suite v10.8.4