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&grs .
Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC Clang -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=native Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores) MSI C236A WORKSTATION (MS-7998) v1.0 Intel Sky Lake 16384MB 120GB Samsung SSD 850 MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB Realtek ALC1150 DELL P2415Q Intel Connection Ubuntu 16.04 4.4.0-7-generic (x86_64) Unity 7.4.0 X Server 1.17.3 radeon 7.6.1 4.1 Mesa 11.1.2 Gallium 0.4 GCC 5.3.1 20160222 ext4 3840x2160 Clang 3.8.0-+rc2-1~exp1ubuntu2 OpenBenchmarking.org Compiler 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
encode-flac: WAV To FLAC himeno: Poisson Pressure Solver build-imagemagick: Time To Compile graphics-magick: Local Adaptive Thresholding c-ray: Total Time build-php: Time To Compile hmmer: Pfam Database Search encode-mp3: WAV To MP3 hint: FLOAT graphics-magick: Blur graphics-magick: HWB Color Space build-apache: Time To Compile redis: SET redis: GET GCC Clang -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=native 37.56 496.06 12.23 22 61.53 7.27 26.89 30.50 127505415.48 107 136 11.08 1189110.86 1663526.96 5.97 1302.83 24.96 92 43.15 13.35 8.86 13.25 295705864.24 170 226 17.00 2175575.75 2953039.46 5.22 2429.37 39.67 100 38.19 19.12 8.35 12.90 370257620.55 169 213 23.12 2136957.54 3007445.96 4.87 2653.07 37.57 103 27.83 18.68 8.35 11.99 408904948.74 173 228 22.84 2076614.15 2951037.21 5.10 2485.14 49.70 103 19.65 21.21 8.17 12.10 381719210.59 170 228 24.88 2183433.83 2910194.79 4.88 2689.91 48.97 104 14.60 21.68 8.16 10.69 407575756.08 178 234 25.17 2104521.04 3116395.33 4.89 2757.77 49.99 104 13.92 21.75 8.00 9.51 392373251.20 177 237 25.16 2243907.58 3023321.58 47.95 325.27 9.78 22 57.09 6.44 23.23 31.95 129742642.75 75 100 10.93 1263741.85 1864548.29 6.97 1931.06 31.07 89 32.34 13.58 8.97 12.04 335679881.79 150 192 18.85 1977929.48 3067218.96 6.66 2036.00 36.53 100 37.29 16.96 8.29 12.17 387996153.74 150 193 22.36 2127555.19 2962310.25 5.26 1923.64 38.45 99 36.22 17.92 8.29 12.03 288801639.39 150 196 23.10 2064604.79 3102899.83 6.71 2001.77 49.59 100 25.61 17.59 8.40 12.16 386593550.68 150 192 22.83 1962280.52 2923813.88 5.11 1962.71 49.63 102 25.20 17.90 8.29 11.66 296846752.57 153 196 23.07 2037699.96 2862656.75 5.05 2114.80 50.02 101 20.64 17.95 8.12 11.10 295042490.70 153 198 23.15 2078148.71 3100373.25 OpenBenchmarking.org
FLAC Audio Encoding WAV To FLAC GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.1 WAV To FLAC -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 11 22 33 44 55 SE +/- 0.09, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.00, N = 5 SE +/- 0.02, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.14, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.04, N = 5 SE +/- 0.02, N = 5 SE +/- 0.00, N = 5 37.56 5.97 5.22 4.87 5.10 4.88 4.89 47.95 6.97 6.66 5.26 6.71 5.11 5.05 1. (CXX) g++ options: -logg -lm
Himeno Benchmark Poisson Pressure Solver GCC Clang OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 600 1200 1800 2400 3000 SE +/- 1.58, N = 3 SE +/- 7.15, N = 3 SE +/- 2.14, N = 3 SE +/- 5.04, N = 3 SE +/- 2.83, N = 3 SE +/- 13.72, N = 3 SE +/- 8.78, N = 3 SE +/- 4.31, N = 3 SE +/- 3.51, N = 3 SE +/- 5.22, N = 3 SE +/- 0.78, N = 3 SE +/- 1.61, N = 3 SE +/- 14.49, N = 3 SE +/- 3.27, N = 3 496.06 1302.83 2429.37 2653.07 2485.14 2689.91 2757.77 325.27 1931.06 2036.00 1923.64 2001.77 1962.71 2114.80 1. (CC) gcc options: -O3 -mavx2
Timed ImageMagick Compilation Time To Compile GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better Timed ImageMagick Compilation 6.9.0 Time To Compile -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 11 22 33 44 55 SE +/- 0.04, N = 3 SE +/- 0.04, N = 3 SE +/- 0.04, N = 3 SE +/- 0.04, N = 3 SE +/- 0.07, N = 3 SE +/- 0.02, N = 3 SE +/- 0.18, N = 3 SE +/- 0.06, N = 3 SE +/- 0.05, N = 3 SE +/- 0.05, N = 3 SE +/- 0.17, N = 3 SE +/- 0.12, N = 3 SE +/- 0.05, N = 3 SE +/- 0.10, N = 3 12.23 24.96 39.67 37.57 49.70 48.97 49.99 9.78 31.07 36.53 38.45 49.59 49.63 50.02
GraphicsMagick Operation: Local Adaptive Thresholding GCC Clang OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Local Adaptive Thresholding -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 20 40 60 80 100 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 22 92 100 103 103 104 104 22 89 100 99 100 102 101 1. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread
C-Ray Total Time GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 14 28 42 56 70 SE +/- 0.02, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.05, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.03, N = 3 61.53 43.15 38.19 27.83 19.65 14.60 13.92 57.09 32.34 37.29 36.22 25.61 25.20 20.64 1. (CC) gcc options: -lm -lpthread -O3
Timed PHP Compilation Time To Compile GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better Timed PHP Compilation 5.2.9 Time To Compile -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 5 10 15 20 25 SE +/- 0.03, N = 3 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 SE +/- 0.03, N = 3 SE +/- 0.08, N = 3 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 SE +/- 0.01, N = 3 7.27 13.35 19.12 18.68 21.21 21.68 21.75 6.44 13.58 16.96 17.92 17.59 17.90 17.95 1. (CC) gcc options: -pedantic -ldl -lz -lm
Timed HMMer Search Pfam Database Search GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 6 12 18 24 30 SE +/- 0.02, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 SE +/- 0.00, N = 3 SE +/- 0.03, N = 3 SE +/- 0.02, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.09, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 26.89 8.86 8.35 8.35 8.17 8.16 8.00 23.23 8.97 8.29 8.29 8.40 8.29 8.12 1. (CC) gcc options: -pthread -lhmmer -lsquid -lm
LAME MP3 Encoding WAV To MP3 GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.99.3 WAV To MP3 -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 7 14 21 28 35 SE +/- 0.07, N = 5 SE +/- 0.00, N = 5 SE +/- 0.03, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.02, N = 5 SE +/- 0.01, N = 5 SE +/- 0.09, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.03, N = 5 SE +/- 0.02, N = 5 SE +/- 0.02, N = 5 SE +/- 0.01, N = 5 30.50 13.25 12.90 11.99 12.10 10.69 9.51 31.95 12.04 12.17 12.03 12.16 11.66 11.10 1. (CC) gcc options: -pipe -lncurses -lm
Hierarchical INTegration Test: FLOAT GCC Clang OpenBenchmarking.org QUIPs, More Is Better Hierarchical INTegration 1.0 Test: FLOAT -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 90M 180M 270M 360M 450M SE +/- 333507.82, N = 3 SE +/- 261713.92, N = 3 SE +/- 807099.70, N = 3 SE +/- 839964.65, N = 3 SE +/- 705518.12, N = 3 SE +/- 469746.65, N = 3 SE +/- 623958.85, N = 3 SE +/- 202624.96, N = 3 SE +/- 327258.73, N = 3 SE +/- 684099.81, N = 3 SE +/- 169985.20, N = 3 SE +/- 732618.55, N = 3 SE +/- 107212.94, N = 3 SE +/- 189622.82, N = 3 127505415.48 295705864.24 370257620.55 408904948.74 381719210.59 407575756.08 392373251.20 129742642.75 335679881.79 387996153.74 288801639.39 386593550.68 296846752.57 295042490.70 1. (CC) gcc options: -lm
GraphicsMagick Operation: Blur GCC Clang OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Blur -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 40 80 120 160 200 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 107 170 169 173 170 178 177 75 150 150 150 150 153 153 1. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread
GraphicsMagick Operation: HWB Color Space GCC Clang OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: HWB Color Space -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 50 100 150 200 250 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.58, N = 3 SE +/- 0.00, N = 3 SE +/- 0.67, N = 3 SE +/- 0.33, N = 3 136 226 213 228 228 234 237 100 192 193 196 192 196 198 1. (CC) gcc options: -fopenmp -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lgomp -lpthread
Timed Apache Compilation Time To Compile GCC Clang OpenBenchmarking.org Seconds, Fewer Is Better Timed Apache Compilation 2.4.7 Time To Compile -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 6 12 18 24 30 SE +/- 0.05, N = 3 SE +/- 0.07, N = 3 SE +/- 0.03, N = 3 SE +/- 0.07, N = 3 SE +/- 0.04, N = 3 SE +/- 0.05, N = 3 SE +/- 0.04, N = 3 SE +/- 0.12, N = 3 SE +/- 0.03, N = 3 SE +/- 0.06, N = 3 SE +/- 0.04, N = 3 SE +/- 0.04, N = 3 SE +/- 0.05, N = 3 SE +/- 0.05, N = 3 11.08 17.00 23.12 22.84 24.88 25.17 25.16 10.93 18.85 22.36 23.10 22.83 23.07 23.15
Redis Test: SET GCC Clang OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: SET -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 500K 1000K 1500K 2000K 2500K SE +/- 18888.09, N = 6 SE +/- 42146.85, N = 3 SE +/- 42585.88, N = 3 SE +/- 59339.63, N = 6 SE +/- 5504.91, N = 3 SE +/- 62171.83, N = 6 SE +/- 9379.40, N = 3 SE +/- 18772.48, N = 5 SE +/- 89985.99, N = 6 SE +/- 48427.64, N = 6 SE +/- 37304.29, N = 3 SE +/- 78877.64, N = 6 SE +/- 55315.76, N = 6 SE +/- 51322.74, N = 6 1189110.86 2175575.75 2136957.54 2076614.15 2183433.83 2104521.04 2243907.58 1263741.85 1977929.48 2127555.19 2064604.79 1962280.52 2037699.96 2078148.71 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
Redis Test: GET GCC Clang OpenBenchmarking.org Requests Per Second, More Is Better Redis 3.0.1 Test: GET -O0 -O1 -O2 -O2 -march=native -O3 -O3 -march=native -Ofast -march=native 700K 1400K 2100K 2800K 3500K SE +/- 38735.61, N = 6 SE +/- 149849.11, N = 6 SE +/- 115634.67, N = 6 SE +/- 147992.17, N = 6 SE +/- 114387.02, N = 6 SE +/- 112169.48, N = 6 SE +/- 119850.30, N = 6 SE +/- 5812.17, N = 3 SE +/- 114553.51, N = 6 SE +/- 107422.82, N = 6 SE +/- 28358.49, N = 3 SE +/- 100673.54, N = 6 SE +/- 117026.48, N = 6 SE +/- 43230.51, N = 5 1663526.96 2953039.46 3007445.96 2951037.21 2910194.79 3116395.33 3023321.58 1864548.29 3067218.96 2962310.25 3102899.83 2923813.88 2862656.75 3100373.25 1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl
Phoronix Test Suite v10.8.5