AMD Ryzen Threadripper 3960X GCC vs. LLVM Clang compiler benchmarks by Michael Larabel for a future article.
Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 1912235-PTS-THREADRI74 Threadripper EOY2019 Clang vs. GCC - Phoronix Test Suite Threadripper EOY2019 Clang vs. GCC AMD Ryzen Threadripper 3960X GCC vs. LLVM Clang compiler benchmarks by Michael Larabel for a future article.
HTML result view exported from: https://openbenchmarking.org/result/1912235-PTS-THREADRI74&export=pdf&rdt&gru .
Threadripper EOY2019 Clang vs. GCC Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads) MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS) AMD Starship/Matisse 32768MB 1000GB Sabrent Rocket 4.0 1TB Gigabyte AMD Radeon 540/540X/550/550X / RX 540X/550/550X 2GB (1206/1750MHz) AMD Baffin HDMI/DP ASUS VP28U Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Device 2723 Ubuntu 19.10 5.4.0-nvme-hwmon (x86_64) GNOME Shell 3.34.1 X Server 1.20.5 modesetting 1.20.5 4.5 Mesa 19.2.1 (LLVM 9.0.0) GCC 10.0.0 20191208 ext4 3840x2160 Clang 10.0.0 GCC 9.2.1 20191008 Clang 9.0.0 OpenBenchmarking.org Environment Details - CXXFLAGS="-O3 -march=native" CFLAGS="-O3 -march=native" Compiler Details - GCC 10.0.0 20191208: --disable-multilib --enable-checking=release - LLVM Clang 10.0 20191222: Optimized build; Default target: x86_64-unknown-linux-gnu; Host CPU: znver2 - GCC 9.2.1: --disable-multilib --enable-checking=release Disk Details - NONE / errors=remount-ro,relatime,rw Processor Details - Scaling Governor: acpi-cpufreq ondemand - CPU Microcode: 0x8301025 Python Details - Python 2.7.17rc1 + Python 3.7.5 Security Details - itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full AMD retpoline IBPB: conditional STIBP: conditional RSB filling + tsx_async_abort: Not affected
Threadripper EOY2019 Clang vs. GCC minife: Small libgav1: Chimera 1080p libgav1: Summer Nature 4K libgav1: Summer Nature 1080p libgav1: Chimera 1080p 10-bit dav1d: Chimera 1080p dav1d: Summer Nature 4K dav1d: Summer Nature 1080p dav1d: Chimera 1080p 10-bit ttsiod-renderer: Phong Rendering With Soft-Shadow Mapping aom-av1: AV1 Video Encoding vpxenc: vpxenc VP9 1080p Video Encode x264: H.264 Video Encoding x265: H.265 1080p Video Encoding mt-dgemm: Sustained Floating-Point Rate byte: Dhrystone 2 fftw: Stock - 2D FFT Size 4096 fftw: Float + SSE - 2D FFT Size 4096 himeno: Poisson Pressure Solver askap: tConvolve MT - Gridding askap: tConvolve MT - Degridding askap: tConvolve OpenMP - Gridding askap: tConvolve OpenMP - Degridding lczero: BLAS lczero: Rand crafty: Elapsed Time tscp: AI Chess Performance stockfish: Total Time gromacs: Water Benchmark rocksdb: Rand Fill rocksdb: Rand Read rocksdb: Seq Fill rocksdb: Rand Fill Sync rocksdb: Read While Writing john-the-ripper: Blowfish nginx: Static Web Page Serving apache: Static Web Page Serving openssl: RSA 4096-bit Performance pgbench: Buffer Test - Normal Load - Read Only pgbench: Buffer Test - Normal Load - Read Write mkl-dnn: IP Batch 1D - f32 mkl-dnn: Convolution Batch conv_alexnet - f32 mkl-dnn: Recurrent Neural Network Training - f32 mkl-dnn: Convolution Batch conv_googlenet_v3 - f32 sqlite: 1 parboil: OpenMP CUTCP parboil: OpenMP Stencil parboil: OpenMP MRI Gridding rodinia: OpenMP LavaMD rodinia: OpenMP CFD Solver rodinia: OpenMP Streamcluster mrbayes: Primate Phylogeny Analysis build-imagemagick: Time To Compile build-php: Time To Compile c-ray: Total Time - 4K, 16 Rays Per Pixel smallpt: Global Illumination Renderer; 128 Samples tungsten: Hair tungsten: Water Caustic tungsten: Non-Exponential tungsten: Volumetric Caustic aobench: 2048 x 2048 - Total Time compress-xz: Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9 compress-zstd: Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19 encode-flac: WAV To FLAC encode-mp3: WAV To MP3 n-queens: Elapsed Time cpp-perf-bench: Atol cpp-perf-bench: Ctype cpp-perf-bench: Math Library cpp-perf-bench: Rand Numbers cpp-perf-bench: Stepanov Vector cpp-perf-bench: Function Objects cpp-perf-bench: Stepanov Abstraction sqlite-speedtest: Timed Time - Size 1,000 qmcpack: GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 7767.98 51.70 23.89 77.92 21.93 612.94 289.29 676.37 94.47 961.974 0.15 195.63 199.22 65.74 8.863183 48002215.1 8135.2 20287 4898.170821 1943.58 3339.33 5255.51 3716.33 29.3289 105805 9027835 1345991 80909082 2.515 930897 145368967 1024733 24277 4945916 41784 43035.46 34157.76 7173.7 673644.958285 15513.440423 1.86131 124.282 194.077 52.4691 14.235 1.257410 7.551706 62.941657 10.085 9.185 19.069 69.786 15.064 50.242 19.134 4.775 9.44960 18.2157 3.36927 3.96697 27.389 20.042 10.052 8.042 6.701 4.378 58.278 32.311 262.968 1061.480 76.263 13.838 28.295 57.116 1878.1 46.69 21.17 70.28 23.11 625.11 291.76 685.40 74.45 0.15 207.68 196.10 67.11 4866.903427 1528248 1932 43580.60 34327.90 5189.1 668836.605453 14868.678849 14.248 70.706 20.905 78.178 30.839 8.72625 19.1580 4.05176 3.72488 31.745 19.687 10.107 7.145 7.788 57.843 29.795 258.404 1282.033 66.782 14.764 25.864 59.906 7777.50 51.84 23.74 77.11 22.01 587.24 285.28 667.33 99.72 935.123 0.14 197.37 197.93 64.69 8.385972 48969411.2 8111.6 24184 4583.346212 1955.97 3376.27 5509.3 4096.25 32.7598 105996 8959937 1373089 76737462 2.516 1023335 142287766 1083649 24368 4950890 41482 43426.72 34228.50 7178.8 654500.676350 30910.991785 1.73710 125.008 194.766 52.2820 14.252 1.257716 7.576396 49.000965 10.101 9.151 19.761 70.330 13.505 44.939 19.155 3.492 9.70952 19.1975 3.37419 4.07902 28.620 19.753 10.040 8.073 6.729 4.429 57.473 32.220 269.484 1069.483 77.501 14.816 28.523 56.169 1893.6 8037.33 52.47 23.94 78.57 24.19 623.05 288.60 674.39 73.36 69.8522 0.15 207.78 198.29 66.27 0.791403 7531.2 23559 4983.281786 33.3033 100236.8 1487001 81336054 60586 43783.30 34144.39 7191.6 675821.095833 31491.377190 1.67315 118.989 145.850 51.3284 14.200 9.633 18.818 64.854 13.531 64.763 30.972 8.70024 19.3485 4.07043 3.68186 31.585 19.685 9.817 7.192 7.951 57.995 29.085 260.638 1296.984 67.108 14.698 26.033 58.332 2262.8 OpenBenchmarking.org
miniFE Problem Size: Small OpenBenchmarking.org CG Mflops, More Is Better miniFE 2.2 Problem Size: Small GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 2K 4K 6K 8K 10K SE +/- 4.74, N = 3 SE +/- 9.20, N = 3 SE +/- 3.20, N = 3 7767.98 7777.50 8037.33 1. (CXX) g++ options: -O3 -fopenmp -pthread -lmpi_cxx -lmpi
libgav1 Video Input: Chimera 1080p OpenBenchmarking.org FPS, More Is Better libgav1 2019-10-05 Video Input: Chimera 1080p GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 12 24 36 48 60 SE +/- 0.08, N = 3 SE +/- 0.03, N = 3 SE +/- 0.11, N = 3 SE +/- 0.11, N = 3 51.70 46.69 51.84 52.47 1. (CXX) g++ options: -O3 -march=native -lpthread
libgav1 Video Input: Summer Nature 4K OpenBenchmarking.org FPS, More Is Better libgav1 2019-10-05 Video Input: Summer Nature 4K GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 6 12 18 24 30 SE +/- 0.02, N = 3 SE +/- 0.05, N = 3 SE +/- 0.02, N = 3 SE +/- 0.02, N = 3 23.89 21.17 23.74 23.94 1. (CXX) g++ options: -O3 -march=native -lpthread
libgav1 Video Input: Summer Nature 1080p OpenBenchmarking.org FPS, More Is Better libgav1 2019-10-05 Video Input: Summer Nature 1080p GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 20 40 60 80 100 SE +/- 0.09, N = 3 SE +/- 0.10, N = 3 SE +/- 0.04, N = 3 SE +/- 0.22, N = 3 77.92 70.28 77.11 78.57 1. (CXX) g++ options: -O3 -march=native -lpthread
libgav1 Video Input: Chimera 1080p 10-bit OpenBenchmarking.org FPS, More Is Better libgav1 2019-10-05 Video Input: Chimera 1080p 10-bit GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 6 12 18 24 30 SE +/- 0.04, N = 3 SE +/- 0.07, N = 3 SE +/- 0.04, N = 3 SE +/- 0.09, N = 3 21.93 23.11 22.01 24.19 1. (CXX) g++ options: -O3 -march=native -lpthread
dav1d Video Input: Chimera 1080p OpenBenchmarking.org FPS, More Is Better dav1d 0.5.0 Video Input: Chimera 1080p GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 130 260 390 520 650 SE +/- 4.43, N = 3 SE +/- 1.62, N = 3 SE +/- 2.39, N = 3 SE +/- 2.49, N = 3 612.94 625.11 587.24 623.05 MIN: 452.17 / MAX: 769.81 MIN: 468.04 / MAX: 781 MIN: 439.81 / MAX: 722.49 MIN: 475.37 / MAX: 782.95 1. (CC) gcc options: -O3 -march=native -pthread
dav1d Video Input: Summer Nature 4K OpenBenchmarking.org FPS, More Is Better dav1d 0.5.0 Video Input: Summer Nature 4K GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 60 120 180 240 300 SE +/- 0.64, N = 3 SE +/- 0.34, N = 3 SE +/- 1.13, N = 3 SE +/- 0.37, N = 3 289.29 291.76 285.28 288.60 MIN: 172.47 / MAX: 306.73 MIN: 174.15 / MAX: 309.6 MIN: 168.88 / MAX: 304.29 MIN: 170.73 / MAX: 306.52 1. (CC) gcc options: -O3 -march=native -pthread
dav1d Video Input: Summer Nature 1080p OpenBenchmarking.org FPS, More Is Better dav1d 0.5.0 Video Input: Summer Nature 1080p GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 150 300 450 600 750 SE +/- 0.42, N = 3 SE +/- 2.78, N = 3 SE +/- 1.97, N = 3 SE +/- 1.73, N = 3 676.37 685.40 667.33 674.39 MIN: 396.97 / MAX: 738.73 MIN: 400.43 / MAX: 750.08 MIN: 387.89 / MAX: 728.98 MIN: 376.28 / MAX: 738.32 1. (CC) gcc options: -O3 -march=native -pthread
dav1d Video Input: Chimera 1080p 10-bit OpenBenchmarking.org FPS, More Is Better dav1d 0.5.0 Video Input: Chimera 1080p 10-bit GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 20 40 60 80 100 SE +/- 0.13, N = 3 SE +/- 0.12, N = 3 SE +/- 0.24, N = 3 SE +/- 0.07, N = 3 94.47 74.45 99.72 73.36 MIN: 56.43 / MAX: 192.99 MIN: 45.96 / MAX: 154.32 MIN: 60.51 / MAX: 199.48 MIN: 45.63 / MAX: 149.13 1. (CC) gcc options: -O3 -march=native -pthread
TTSIOD 3D Renderer Phong Rendering With Soft-Shadow Mapping OpenBenchmarking.org FPS, More Is Better TTSIOD 3D Renderer 2.3b Phong Rendering With Soft-Shadow Mapping GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 200 400 600 800 1000 SE +/- 1.33, N = 3 SE +/- 2.99, N = 3 SE +/- 0.09, N = 3 961.97 935.12 69.85 1. (CXX) g++ options: -O3 -march=native -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -fopenmp -fwhole-program -lstdc++
AOM AV1 AV1 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better AOM AV1 2019-09-16 AV1 Video Encoding GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 0.0338 0.0676 0.1014 0.1352 0.169 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 0.15 0.15 0.14 0.15 1. (CXX) g++ options: -O3 -march=native -std=c++11 -U_FORTIFY_SOURCE -lm -lpthread
VP9 libvpx Encoding vpxenc VP9 1080p Video Encode OpenBenchmarking.org Frames Per Second, More Is Better VP9 libvpx Encoding 1.8.1 vpxenc VP9 1080p Video Encode GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 50 100 150 200 250 SE +/- 1.29, N = 3 SE +/- 1.73, N = 15 SE +/- 1.49, N = 3 SE +/- 1.20, N = 3 195.63 207.68 197.37 207.78 1. (CXX) g++ options: -m64 -lm -lpthread -O3 -march=native -fPIC -U_FORTIFY_SOURCE -std=c++11
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2018-09-25 H.264 Video Encoding GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 40 80 120 160 200 SE +/- 2.04, N = 8 SE +/- 0.76, N = 3 SE +/- 0.53, N = 3 SE +/- 1.58, N = 12 199.22 196.10 197.93 198.29 -mstack-alignment=64 -mstack-alignment=64 1. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -march=native -std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize
x265 H.265 1080p Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x265 3.1.2 H.265 1080p Video Encoding GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 15 30 45 60 75 SE +/- 0.29, N = 3 SE +/- 0.39, N = 3 SE +/- 0.10, N = 3 SE +/- 0.07, N = 3 65.74 67.11 64.69 66.27 1. (CXX) g++ options: -O3 -march=native -rdynamic -lpthread -lrt -ldl -lnuma
ACES DGEMM Sustained Floating-Point Rate OpenBenchmarking.org GFLOP/s, More Is Better ACES DGEMM 1.0 Sustained Floating-Point Rate GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 2 4 6 8 10 SE +/- 0.059593, N = 3 SE +/- 0.037368, N = 3 SE +/- 0.007958, N = 3 8.863183 8.385972 0.791403 1. (CC) gcc options: -O3 -march=native -fopenmp
BYTE Unix Benchmark Computational Test: Dhrystone 2 OpenBenchmarking.org LPS, More Is Better BYTE Unix Benchmark 3.6 Computational Test: Dhrystone 2 GCC 10.0.0 20191208 GCC 9.2.1 10M 20M 30M 40M 50M SE +/- 638551.10, N = 4 SE +/- 70447.90, N = 3 48002215.1 48969411.2 1. (CC) gcc options: -O3 -march=native
FFTW Build: Stock - Size: 2D FFT Size 4096 OpenBenchmarking.org Mflops, More Is Better FFTW 3.3.6 Build: Stock - Size: 2D FFT Size 4096 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 2K 4K 6K 8K 10K SE +/- 76.26, N = 3 SE +/- 26.44, N = 3 SE +/- 24.98, N = 3 8135.2 8111.6 7531.2 1. (CC) gcc options: -pthread -O3 -march=native -lm
FFTW Build: Float + SSE - Size: 2D FFT Size 4096 OpenBenchmarking.org Mflops, More Is Better FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 4096 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 5K 10K 15K 20K 25K SE +/- 239.62, N = 3 SE +/- 309.06, N = 4 SE +/- 404.65, N = 3 20287 24184 23559 1. (CC) gcc options: -pthread -O3 -march=native -lm
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 1100 2200 3300 4400 5500 SE +/- 51.56, N = 7 SE +/- 77.03, N = 3 SE +/- 61.37, N = 3 SE +/- 84.96, N = 3 4898.17 4866.90 4583.35 4983.28 1. (CC) gcc options: -O3 -march=native -mavx2
ASKAP Test: tConvolve MT - Gridding OpenBenchmarking.org Million Grid Points Per Second, More Is Better ASKAP 2018-11-10 Test: tConvolve MT - Gridding GCC 10.0.0 20191208 GCC 9.2.1 400 800 1200 1600 2000 SE +/- 10.21, N = 3 SE +/- 1.51, N = 3 1943.58 1955.97 1. (CXX) g++ options: -lpthread
ASKAP Test: tConvolve MT - Degridding OpenBenchmarking.org Million Grid Points Per Second, More Is Better ASKAP 2018-11-10 Test: tConvolve MT - Degridding GCC 10.0.0 20191208 GCC 9.2.1 700 1400 2100 2800 3500 SE +/- 13.81, N = 3 SE +/- 2.38, N = 3 3339.33 3376.27 1. (CXX) g++ options: -lpthread
ASKAP Test: tConvolve OpenMP - Gridding OpenBenchmarking.org Million Grid Points Per Second, More Is Better ASKAP 2018-11-10 Test: tConvolve OpenMP - Gridding GCC 10.0.0 20191208 GCC 9.2.1 1200 2400 3600 4800 6000 SE +/- 34.80, N = 3 SE +/- 37.73, N = 3 5255.51 5509.30 1. (CXX) g++ options: -lpthread
ASKAP Test: tConvolve OpenMP - Degridding OpenBenchmarking.org Million Grid Points Per Second, More Is Better ASKAP 2018-11-10 Test: tConvolve OpenMP - Degridding GCC 10.0.0 20191208 GCC 9.2.1 900 1800 2700 3600 4500 SE +/- 46.05, N = 3 SE +/- 0.00, N = 3 3716.33 4096.25 1. (CXX) g++ options: -lpthread
LeelaChessZero Backend: BLAS OpenBenchmarking.org Nodes Per Second, More Is Better LeelaChessZero 0.22.0 Backend: BLAS GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 8 16 24 32 40 SE +/- 0.41, N = 3 SE +/- 0.56, N = 12 SE +/- 0.60, N = 15 29.33 32.76 33.30 1. (CXX) g++ options: -O3 -march=native -lpthread
LeelaChessZero Backend: Random OpenBenchmarking.org Nodes Per Second, More Is Better LeelaChessZero 0.22.0 Backend: Random GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 20K 40K 60K 80K 100K SE +/- 275.83, N = 3 SE +/- 354.64, N = 3 SE +/- 553.66, N = 3 105805.0 105996.0 100236.8 1. (CXX) g++ options: -O3 -march=native -lpthread
Crafty Elapsed Time OpenBenchmarking.org Nodes Per Second, More Is Better Crafty 25.2 Elapsed Time GCC 10.0.0 20191208 GCC 9.2.1 2M 4M 6M 8M 10M SE +/- 15301.93, N = 3 SE +/- 11113.29, N = 3 9027835 8959937 1. (CC) gcc options: -pthread -lstdc++ -fprofile-use -lm
TSCP AI Chess Performance OpenBenchmarking.org Nodes Per Second, More Is Better TSCP 1.81 AI Chess Performance GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 300K 600K 900K 1200K 1500K SE +/- 1231.70, N = 5 SE +/- 1690.40, N = 5 SE +/- 9469.71, N = 5 SE +/- 2711.28, N = 5 1345991 1528248 1373089 1487001 1. (CC) gcc options: -O3 -march=native
Stockfish Total Time OpenBenchmarking.org Nodes Per Second, More Is Better Stockfish 9 Total Time GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 20M 40M 60M 80M 100M SE +/- 1221575.84, N = 3 SE +/- 74252.03, N = 3 SE +/- 194228.81, N = 3 80909082 76737462 81336054 1. (CXX) g++ options: -m64 -lpthread -O3 -march=native -fno-exceptions -std=c++11 -pedantic -msse -msse3 -mpopcnt -flto
GROMACS Water Benchmark OpenBenchmarking.org Ns Per Day, More Is Better GROMACS 2019.4 Water Benchmark GCC 10.0.0 20191208 GCC 9.2.1 0.5661 1.1322 1.6983 2.2644 2.8305 SE +/- 0.005, N = 3 SE +/- 0.001, N = 3 2.515 2.516 1. (CXX) g++ options: -mavx2 -mfma -O3 -march=native -std=c++11 -funroll-all-loops -pthread -lrt -lpthread -lm
Facebook RocksDB Test: Random Fill OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Fill GCC 10.0.0 20191208 GCC 9.2.1 200K 400K 600K 800K 1000K SE +/- 13468.75, N = 3 SE +/- 4040.85, N = 3 930897 1023335 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Random Read OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Read GCC 10.0.0 20191208 GCC 9.2.1 30M 60M 90M 120M 150M SE +/- 467553.12, N = 3 SE +/- 234281.58, N = 3 145368967 142287766 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Sequential Fill OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Sequential Fill GCC 10.0.0 20191208 GCC 9.2.1 200K 400K 600K 800K 1000K SE +/- 4276.33, N = 3 SE +/- 10427.62, N = 3 1024733 1083649 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Random Fill Sync OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Fill Sync GCC 10.0.0 20191208 GCC 9.2.1 5K 10K 15K 20K 25K SE +/- 40.43, N = 3 SE +/- 29.29, N = 3 24277 24368 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Read While Writing OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Read While Writing GCC 10.0.0 20191208 GCC 9.2.1 1.1M 2.2M 3.3M 4.4M 5.5M SE +/- 38218.40, N = 15 SE +/- 73789.66, N = 4 4945916 4950890 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
John The Ripper Test: Blowfish OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.9.0-jumbo-1 Test: Blowfish GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 13K 26K 39K 52K 65K SE +/- 170.74, N = 3 SE +/- 3.28, N = 3 SE +/- 184.04, N = 3 SE +/- 246.24, N = 3 41784 1932 41482 60586 -fopenmp -fopenmp -fopenmp 1. (CC) gcc options: -m64 -lssl -lcrypto -lgmp -pthread -lm -lz -ldl -lcrypt
NGINX Benchmark Static Web Page Serving OpenBenchmarking.org Requests Per Second, More Is Better NGINX Benchmark 1.9.9 Static Web Page Serving GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 9K 18K 27K 36K 45K SE +/- 490.20, N = 3 SE +/- 238.62, N = 3 SE +/- 457.53, N = 3 SE +/- 326.86, N = 3 43035.46 43580.60 43426.72 43783.30 1. (CC) gcc options: -lpthread -lcrypt -lcrypto -lz -O3 -march=native
Apache Benchmark Static Web Page Serving OpenBenchmarking.org Requests Per Second, More Is Better Apache Benchmark 2.4.29 Static Web Page Serving GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 7K 14K 21K 28K 35K SE +/- 54.98, N = 3 SE +/- 71.82, N = 3 SE +/- 27.04, N = 3 SE +/- 32.67, N = 3 34157.76 34327.90 34228.50 34144.39 1. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native
OpenSSL RSA 4096-bit Performance OpenBenchmarking.org Signs Per Second, More Is Better OpenSSL 1.1.1 RSA 4096-bit Performance GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 1500 3000 4500 6000 7500 SE +/- 20.75, N = 3 SE +/- 21.60, N = 3 SE +/- 21.05, N = 3 SE +/- 29.40, N = 3 7173.7 5189.1 7178.8 7191.6 -Qunused-arguments -Qunused-arguments 1. (CC) gcc options: -pthread -m64 -O3 -march=native -lssl -lcrypto -ldl
PostgreSQL pgbench Scaling: Buffer Test - Test: Normal Load - Mode: Read Only OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 140K 280K 420K 560K 700K SE +/- 876.37, N = 3 SE +/- 1018.99, N = 3 SE +/- 1703.60, N = 3 SE +/- 2145.94, N = 3 673644.96 668836.61 654500.68 675821.10 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
PostgreSQL pgbench Scaling: Buffer Test - Test: Normal Load - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 7K 14K 21K 28K 35K SE +/- 2238.03, N = 12 SE +/- 1738.68, N = 15 SE +/- 77.46, N = 3 SE +/- 127.72, N = 3 15513.44 14868.68 30910.99 31491.38 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
MKL-DNN DNNL Harness: IP Batch 1D - Data Type: f32 OpenBenchmarking.org ms, Fewer Is Better MKL-DNN DNNL 1.1 Harness: IP Batch 1D - Data Type: f32 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 0.4188 0.8376 1.2564 1.6752 2.094 SE +/- 0.00636, N = 3 SE +/- 0.00269, N = 3 SE +/- 0.00428, N = 3 1.86131 1.73710 1.67315 -fopenmp - MIN: 1.81 -fopenmp - MIN: 1.67 -fopenmp=libomp - MIN: 1.62 1. (CXX) g++ options: -O3 -march=native -std=c++11 -msse4.1 -fPIC -pie -lpthread -ldl
MKL-DNN DNNL Harness: Convolution Batch conv_alexnet - Data Type: f32 OpenBenchmarking.org ms, Fewer Is Better MKL-DNN DNNL 1.1 Harness: Convolution Batch conv_alexnet - Data Type: f32 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 30 60 90 120 150 SE +/- 1.45, N = 3 SE +/- 1.55, N = 3 SE +/- 0.15, N = 3 124.28 125.01 118.99 -fopenmp - MIN: 122.25 -fopenmp - MIN: 122.48 -fopenmp=libomp - MIN: 118.28 1. (CXX) g++ options: -O3 -march=native -std=c++11 -msse4.1 -fPIC -pie -lpthread -ldl
MKL-DNN DNNL Harness: Recurrent Neural Network Training - Data Type: f32 OpenBenchmarking.org ms, Fewer Is Better MKL-DNN DNNL 1.1 Harness: Recurrent Neural Network Training - Data Type: f32 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 40 80 120 160 200 SE +/- 0.39, N = 3 SE +/- 0.16, N = 3 SE +/- 0.38, N = 3 194.08 194.77 145.85 -fopenmp - MIN: 192.29 -fopenmp - MIN: 192.97 -fopenmp=libomp - MIN: 143.95 1. (CXX) g++ options: -O3 -march=native -std=c++11 -msse4.1 -fPIC -pie -lpthread -ldl
MKL-DNN DNNL Harness: Convolution Batch conv_googlenet_v3 - Data Type: f32 OpenBenchmarking.org ms, Fewer Is Better MKL-DNN DNNL 1.1 Harness: Convolution Batch conv_googlenet_v3 - Data Type: f32 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 12 24 36 48 60 SE +/- 0.24, N = 3 SE +/- 0.18, N = 3 SE +/- 0.11, N = 3 52.47 52.28 51.33 -fopenmp - MIN: 51.43 -fopenmp - MIN: 51.18 -fopenmp=libomp - MIN: 50.48 1. (CXX) g++ options: -O3 -march=native -std=c++11 -msse4.1 -fPIC -pie -lpthread -ldl
SQLite Threads / Copies: 1 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.30.1 Threads / Copies: 1 GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 4 8 12 16 20 SE +/- 0.03, N = 3 SE +/- 0.01, N = 3 SE +/- 0.04, N = 3 SE +/- 0.02, N = 3 14.24 14.25 14.25 14.20 1. (CC) gcc options: -O3 -march=native -lz -lm -ldl -lpthread
Parboil Test: OpenMP CUTCP OpenBenchmarking.org Seconds, Fewer Is Better Parboil 2.5 Test: OpenMP CUTCP GCC 10.0.0 20191208 GCC 9.2.1 0.283 0.566 0.849 1.132 1.415 SE +/- 0.007993, N = 3 SE +/- 0.002849, N = 3 1.257410 1.257716 1. (CXX) g++ options: -lm -lpthread -lgomp -O3 -ffast-math -fopenmp
Parboil Test: OpenMP Stencil OpenBenchmarking.org Seconds, Fewer Is Better Parboil 2.5 Test: OpenMP Stencil GCC 10.0.0 20191208 GCC 9.2.1 2 4 6 8 10 SE +/- 0.036635, N = 3 SE +/- 0.021046, N = 3 7.551706 7.576396 1. (CXX) g++ options: -lm -lpthread -lgomp -O3 -ffast-math -fopenmp
Parboil Test: OpenMP MRI Gridding OpenBenchmarking.org Seconds, Fewer Is Better Parboil 2.5 Test: OpenMP MRI Gridding GCC 10.0.0 20191208 GCC 9.2.1 14 28 42 56 70 SE +/- 0.24, N = 3 SE +/- 0.15, N = 3 62.94 49.00 1. (CXX) g++ options: -lm -lpthread -lgomp -O3 -ffast-math -fopenmp
Rodinia Test: OpenMP LavaMD OpenBenchmarking.org Seconds, Fewer Is Better Rodinia 2.4 Test: OpenMP LavaMD GCC 10.0.0 20191208 GCC 9.2.1 3 6 9 12 15 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 10.09 10.10 1. (CXX) g++ options: -O2 -lOpenCL
Rodinia Test: OpenMP CFD Solver OpenBenchmarking.org Seconds, Fewer Is Better Rodinia 2.4 Test: OpenMP CFD Solver GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 3 6 9 12 15 SE +/- 0.029, N = 3 SE +/- 0.052, N = 3 SE +/- 0.133, N = 3 9.185 9.151 9.633 -O2 -lOpenCL -O2 -lOpenCL -O3 -fopenmp 1. (CXX) g++ options:
Rodinia Test: OpenMP Streamcluster OpenBenchmarking.org Seconds, Fewer Is Better Rodinia 2.4 Test: OpenMP Streamcluster GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 5 10 15 20 25 SE +/- 0.02, N = 3 SE +/- 0.54, N = 15 SE +/- 0.06, N = 3 19.07 19.76 18.82 -O2 -lOpenCL -O2 -lOpenCL -O3 -fopenmp 1. (CXX) g++ options:
Timed MrBayes Analysis Primate Phylogeny Analysis OpenBenchmarking.org Seconds, Fewer Is Better Timed MrBayes Analysis 3.2.7 Primate Phylogeny Analysis GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 16 32 48 64 80 SE +/- 0.32, N = 3 SE +/- 0.32, N = 3 SE +/- 0.27, N = 3 SE +/- 0.36, N = 3 69.79 70.71 70.33 64.85 -mabm -mabm 1. (CC) gcc options: -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4a -msha -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -madx -O3 -std=c99 -pedantic -march=native -lm
Timed ImageMagick Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed ImageMagick Compilation 6.9.0 Time To Compile GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 5 10 15 20 25 SE +/- 0.04, N = 3 SE +/- 0.08, N = 3 SE +/- 0.08, N = 3 SE +/- 0.07, N = 3 15.06 20.91 13.51 13.53
Timed PHP Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed PHP Compilation 7.1.9 Time To Compile GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 20 40 60 80 100 SE +/- 0.08, N = 3 SE +/- 0.12, N = 3 SE +/- 0.08, N = 3 SE +/- 0.24, N = 3 50.24 78.18 44.94 64.76 1. (CC) gcc options: -O3 -march=native -pedantic -ldl -lz -lm
C-Ray Total Time - 4K, 16 Rays Per Pixel OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 7 14 21 28 35 SE +/- 0.05, N = 3 SE +/- 0.13, N = 3 SE +/- 0.05, N = 3 SE +/- 0.11, N = 3 19.13 30.84 19.16 30.97 1. (CC) gcc options: -lm -lpthread -O3 -march=native
Smallpt Global Illumination Renderer; 128 Samples OpenBenchmarking.org Seconds, Fewer Is Better Smallpt 1.0 Global Illumination Renderer; 128 Samples GCC 10.0.0 20191208 GCC 9.2.1 1.0744 2.1488 3.2232 4.2976 5.372 SE +/- 0.107, N = 15 SE +/- 0.006, N = 3 4.775 3.492 1. (CXX) g++ options: -fopenmp -O3 -march=native
Tungsten Renderer Scene: Hair OpenBenchmarking.org Seconds, Fewer Is Better Tungsten Renderer 0.2.2 Scene: Hair GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 3 6 9 12 15 SE +/- 0.03984, N = 3 SE +/- 0.01435, N = 3 SE +/- 0.02093, N = 3 SE +/- 0.01343, N = 3 9.44960 8.72625 9.70952 8.70024 -fstrict-aliasing -fstrict-aliasing 1. (CXX) g++ options: -O3 -march=native -std=c++0x -march=znver1 -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4a -mfma -mbmi2 -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -rdynamic -ljpeg -lpthread -ldl
Tungsten Renderer Scene: Water Caustic OpenBenchmarking.org Seconds, Fewer Is Better Tungsten Renderer 0.2.2 Scene: Water Caustic GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 5 10 15 20 25 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 SE +/- 0.02, N = 3 SE +/- 0.02, N = 3 18.22 19.16 19.20 19.35 -fstrict-aliasing -fstrict-aliasing 1. (CXX) g++ options: -O3 -march=native -std=c++0x -march=znver1 -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4a -mfma -mbmi2 -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -rdynamic -ljpeg -lpthread -ldl
Tungsten Renderer Scene: Non-Exponential OpenBenchmarking.org Seconds, Fewer Is Better Tungsten Renderer 0.2.2 Scene: Non-Exponential GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 0.9158 1.8316 2.7474 3.6632 4.579 SE +/- 0.01371, N = 3 SE +/- 0.01369, N = 3 SE +/- 0.01280, N = 3 SE +/- 0.00501, N = 3 3.36927 4.05176 3.37419 4.07043 -fstrict-aliasing -fstrict-aliasing 1. (CXX) g++ options: -O3 -march=native -std=c++0x -march=znver1 -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4a -mfma -mbmi2 -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -rdynamic -ljpeg -lpthread -ldl
Tungsten Renderer Scene: Volumetric Caustic OpenBenchmarking.org Seconds, Fewer Is Better Tungsten Renderer 0.2.2 Scene: Volumetric Caustic GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 0.9178 1.8356 2.7534 3.6712 4.589 SE +/- 0.04581, N = 3 SE +/- 0.00780, N = 3 SE +/- 0.03613, N = 3 SE +/- 0.00668, N = 3 3.96697 3.72488 4.07902 3.68186 -fstrict-aliasing -fstrict-aliasing 1. (CXX) g++ options: -O3 -march=native -std=c++0x -march=znver1 -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4a -mfma -mbmi2 -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -rdynamic -ljpeg -lpthread -ldl
AOBench Size: 2048 x 2048 - Total Time OpenBenchmarking.org Seconds, Fewer Is Better AOBench Size: 2048 x 2048 - Total Time GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 7 14 21 28 35 SE +/- 0.04, N = 3 SE +/- 0.45, N = 15 SE +/- 0.30, N = 3 SE +/- 0.01, N = 3 27.39 31.75 28.62 31.59 1. (CC) gcc options: -lm -O3 -march=native
XZ Compression Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9 OpenBenchmarking.org Seconds, Fewer Is Better XZ Compression 5.2.4 Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9 GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 5 10 15 20 25 SE +/- 0.16, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 20.04 19.69 19.75 19.69 1. (CC) gcc options: -pthread -fvisibility=hidden -O3 -march=native
Zstd Compression Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19 OpenBenchmarking.org Seconds, Fewer Is Better Zstd Compression 1.3.4 Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19 GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 3 6 9 12 15 SE +/- 0.089, N = 3 SE +/- 0.033, N = 3 SE +/- 0.125, N = 3 SE +/- 0.100, N = 3 10.052 10.107 10.040 9.817 1. (CC) gcc options: -O3 -march=native -pthread -lz -llzma
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.2 WAV To FLAC GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 2 4 6 8 10 SE +/- 0.006, N = 5 SE +/- 0.003, N = 5 SE +/- 0.007, N = 5 SE +/- 0.005, N = 5 8.042 7.145 8.073 7.192 -fvisibility=hidden -fvisibility=hidden 1. (CXX) g++ options: -O3 -march=native -logg -lm
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.100 WAV To MP3 GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 2 4 6 8 10 SE +/- 0.007, N = 3 SE +/- 0.008, N = 3 SE +/- 0.012, N = 3 SE +/- 0.001, N = 6 6.701 7.788 6.729 7.951 -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -lncurses 1. (CC) gcc options: -O3 -pipe -march=native -lm
N-Queens Elapsed Time OpenBenchmarking.org Seconds, Fewer Is Better N-Queens 1.0 Elapsed Time GCC 10.0.0 20191208 GCC 9.2.1 0.9965 1.993 2.9895 3.986 4.9825 SE +/- 0.004, N = 3 SE +/- 0.007, N = 3 4.378 4.429 1. (CC) gcc options: -static -fopenmp -O3 -march=native
CppPerformanceBenchmarks Test: Atol OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Atol GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 13 26 39 52 65 SE +/- 0.27, N = 3 SE +/- 0.26, N = 3 SE +/- 0.20, N = 3 SE +/- 0.25, N = 3 58.28 57.84 57.47 58.00 1. (CXX) g++ options: -O3 -march=native -std=c++11
CppPerformanceBenchmarks Test: Ctype OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Ctype GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 8 16 24 32 40 SE +/- 0.04, N = 3 SE +/- 0.30, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 32.31 29.80 32.22 29.09 1. (CXX) g++ options: -O3 -march=native -std=c++11
CppPerformanceBenchmarks Test: Math Library OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Math Library GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 60 120 180 240 300 SE +/- 0.29, N = 3 SE +/- 2.46, N = 3 SE +/- 0.45, N = 3 SE +/- 0.41, N = 3 262.97 258.40 269.48 260.64 1. (CXX) g++ options: -O3 -march=native -std=c++11
CppPerformanceBenchmarks Test: Random Numbers OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Random Numbers GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 300 600 900 1200 1500 SE +/- 10.04, N = 3 SE +/- 12.43, N = 3 SE +/- 2.69, N = 3 SE +/- 0.16, N = 3 1061.48 1282.03 1069.48 1296.98 1. (CXX) g++ options: -O3 -march=native -std=c++11
CppPerformanceBenchmarks Test: Stepanov Vector OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Stepanov Vector GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 20 40 60 80 100 SE +/- 0.05, N = 3 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 SE +/- 0.01, N = 3 76.26 66.78 77.50 67.11 1. (CXX) g++ options: -O3 -march=native -std=c++11
CppPerformanceBenchmarks Test: Function Objects OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Function Objects GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 4 8 12 16 20 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.15, N = 3 SE +/- 0.01, N = 3 13.84 14.76 14.82 14.70 1. (CXX) g++ options: -O3 -march=native -std=c++11
CppPerformanceBenchmarks Test: Stepanov Abstraction OpenBenchmarking.org Seconds, Fewer Is Better CppPerformanceBenchmarks 9 Test: Stepanov Abstraction GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 7 14 21 28 35 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.05, N = 3 SE +/- 0.01, N = 3 28.30 25.86 28.52 26.03 1. (CXX) g++ options: -O3 -march=native -std=c++11
SQLite Speedtest Timed Time - Size 1,000 OpenBenchmarking.org Seconds, Fewer Is Better SQLite Speedtest 3.30 Timed Time - Size 1,000 GCC 10.0.0 20191208 LLVM Clang 10.0 20191222 GCC 9.2.1 LLVM Clang 9.0.0 13 26 39 52 65 SE +/- 0.10, N = 3 SE +/- 0.13, N = 3 SE +/- 0.46, N = 3 SE +/- 0.44, N = 3 57.12 59.91 56.17 58.33 1. (CC) gcc options: -O3 -march=native -ldl -lz -lpthread
QMCPACK OpenBenchmarking.org Total Execution Time - Seconds, Fewer Is Better QMCPACK 3.8 GCC 10.0.0 20191208 GCC 9.2.1 LLVM Clang 9.0.0 500 1000 1500 2000 2500 1878.1 1893.6 2262.8 -finline-limit=1000 -funroll-all-loops -finline-limit=1000 -funroll-all-loops 1. (CXX) g++ options: -O3 -march=native -fopenmp -fomit-frame-pointer -fstrict-aliasing -ffast-math -lm
Phoronix Test Suite v10.8.4