Kernel 6.7rc7 compiler benchmark Benchmarking GCC and clang with / without march=znver1 via graysky2's patches, with/without ThinLTO. AMD Ryzen 7 PRO 3700U testing with a LENOVO 20QJS03W00 (R13ET54W1.28 BIOS) and AMD Radeon Vega 10 1GB on Debian via the Phoronix Test Suite. gcc -O2 -march=znver1: Processor: AMD Ryzen 7 PRO 3700U @ 2.30GHz (4 Cores / 8 Threads), Motherboard: LENOVO 20QJS03W00 (R13ET54W1.28 BIOS), Chipset: AMD Raven/Raven2, Memory: 16GB, Disk: Western Digital WD_BLACK SN850X 2000GB, Graphics: AMD Radeon Vega 10 1GB (1400/1200MHz), Audio: AMD Raven/Raven2/Fenghuang, Network: Realtek RTL8111/8168/8411 + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Debian, Kernel: 6.7.0-rc7xps2-dirty (x86_64), Desktop: KDE Plasma 5.27.10, Display Server: X Server 1.21.1.10, OpenGL: 4.6 Mesa 23.3.1-4 (LLVM 17.0.6 DRM 3.56), OpenCL: OpenCL 1.1 Mesa 23.3.1-4 + OpenCL 3.0 + OpenCL 3.0 PoCL 4.0+debian Linux +Asserts RELOC SPIR LLVM 15.0.7 SLEEF DISTRO POCL_DEBUG, Compiler: GCC 13.2.0 + Clang 16.0.6 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 1920x1080 clang -O2 lto: Processor: AMD Ryzen 7 PRO 3700U @ 2.30GHz (4 Cores / 8 Threads), Motherboard: LENOVO 20QJS03W00 (R13ET54W1.28 BIOS), Chipset: AMD Raven/Raven2, Memory: 16GB, Disk: Western Digital WD_BLACK SN850X 2000GB, Graphics: AMD Radeon Vega 10 1GB (1400/1200MHz), Audio: AMD Raven/Raven2/Fenghuang, Network: Realtek RTL8111/8168/8411 + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Debian, Kernel: 6.7.0-rc7xps3 (x86_64), Desktop: KDE Plasma 5.27.10, Display Server: X Server 1.21.1.10, OpenGL: 4.6 Mesa 23.3.1-4 (LLVM 17.0.6 DRM 3.56), OpenCL: OpenCL 1.1 Mesa 23.3.1-4 + OpenCL 3.0 + OpenCL 3.0 PoCL 4.0+debian Linux +Asserts RELOC SPIR LLVM 15.0.7 SLEEF DISTRO POCL_DEBUG, Compiler: GCC 13.2.0 + Clang 16.0.6 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 1920x1080 clang -O2 -march=znver1 lto: Processor: AMD Ryzen 7 PRO 3700U @ 2.30GHz (4 Cores / 8 Threads), Motherboard: LENOVO 20QJS03W00 (R13ET54W1.28 BIOS), Chipset: AMD Raven/Raven2, Memory: 16GB, Disk: Western Digital WD_BLACK SN850X 2000GB, Graphics: AMD Radeon Vega 10 1GB (1400/1200MHz), Audio: AMD Raven/Raven2/Fenghuang, Network: Realtek RTL8111/8168/8411 + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Debian, Kernel: 6.7.0-rc7xps4-dirty (x86_64), Desktop: KDE Plasma 5.27.10, Display Server: X Server 1.21.1.10, OpenGL: 4.6 Mesa 23.3.1-4 (LLVM 17.0.6 DRM 3.56), OpenCL: OpenCL 1.1 Mesa 23.3.1-4 + OpenCL 3.0 + OpenCL 3.0 PoCL 4.0+debian Linux +Asserts RELOC SPIR LLVM 15.0.7 SLEEF DISTRO POCL_DEBUG, Compiler: GCC 13.2.0 + Clang 16.0.6 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 1920x1080 clang -O2 -march=znver1: Processor: AMD Ryzen 7 PRO 3700U @ 2.30GHz (4 Cores / 8 Threads), Motherboard: LENOVO 20QJS03W00 (R13ET54W1.28 BIOS), Chipset: AMD Raven/Raven2, Memory: 16GB, Disk: Western Digital WD_BLACK SN850X 2000GB, Graphics: AMD Radeon Vega 10 1GB (1400/1200MHz), Audio: AMD Raven/Raven2/Fenghuang, Network: Realtek RTL8111/8168/8411 + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Debian, Kernel: 6.7.0-rc7xps5-dirty (x86_64), Desktop: KDE Plasma 5.27.10, Display Server: X Server 1.21.1.10, OpenGL: 4.6 Mesa 23.3.1-4 (LLVM 17.0.6 DRM 3.56), OpenCL: OpenCL 1.1 Mesa 23.3.1-4 + OpenCL 3.0 + OpenCL 3.0 PoCL 4.0+debian Linux +Asserts RELOC SPIR LLVM 15.0.7 SLEEF DISTRO POCL_DEBUG, Compiler: GCC 13.2.0 + Clang 16.0.6 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 1920x1080 clang -O2: Processor: AMD Ryzen 7 PRO 3700U @ 2.30GHz (4 Cores / 8 Threads), Motherboard: LENOVO 20QJS03W00 (R13ET54W1.28 BIOS), Chipset: AMD Raven/Raven2, Memory: 16GB, Disk: Western Digital WD_BLACK SN850X 2000GB, Graphics: AMD Radeon Vega 10 1GB (1400/1200MHz), Audio: AMD Raven/Raven2/Fenghuang, Network: Realtek RTL8111/8168/8411 + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Debian, Kernel: 6.7.0-rc7xps6 (x86_64), Desktop: KDE Plasma 5.27.10, Display Server: X Server 1.21.1.10, OpenGL: 4.6 Mesa 23.3.1-4 (LLVM 17.0.6 DRM 3.56), OpenCL: OpenCL 1.1 Mesa 23.3.1-4 + OpenCL 3.0 + OpenCL 3.0 PoCL 4.0+debian Linux +Asserts RELOC SPIR LLVM 15.0.7 SLEEF DISTRO POCL_DEBUG, Compiler: GCC 13.2.0 + Clang 16.0.6 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 1920x1080 gcc -O2: Processor: AMD Ryzen 7 PRO 3700U @ 2.30GHz (4 Cores / 8 Threads), Motherboard: LENOVO 20QJS03W00 (R13ET54W1.28 BIOS), Chipset: AMD Raven/Raven2, Memory: 16GB, Disk: Western Digital WD_BLACK SN850X 2000GB, Graphics: AMD Radeon Vega 10 1GB (1400/1200MHz), Audio: AMD Raven/Raven2/Fenghuang, Network: Realtek RTL8111/8168/8411 + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Debian, Kernel: 6.7.0-rc7xps1 (x86_64), Desktop: KDE Plasma 5.27.10, Display Server: X Server 1.21.1.10, OpenGL: 4.6 Mesa 23.3.1-4 (LLVM 17.0.6 DRM 3.56), OpenCL: OpenCL 1.1 Mesa 23.3.1-4 + OpenCL 3.0 + OpenCL 3.0 PoCL 4.0+debian Linux +Asserts RELOC SPIR LLVM 15.0.7 SLEEF DISTRO POCL_DEBUG, Compiler: GCC 13.2.0 + Clang 16.0.6 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 1920x1080 Stress-NG 0.16.04 Test: Futex Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 943368.71 |====================================== clang -O2 lto ............... 547997.63 |====================== clang -O2 -march=znver1 lto . 525513.32 |===================== clang -O2 -march=znver1 ..... 532959.94 |===================== clang -O2 ................... 509773.24 |===================== gcc -O2 ..................... 859898.29 |=================================== Stress-NG 0.16.04 Test: Mutex Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 1436645.37 |===================================== clang -O2 lto ............... 1407315.39 |==================================== clang -O2 -march=znver1 lto . 1377924.62 |=================================== clang -O2 -march=znver1 ..... 1369394.08 |=================================== clang -O2 ................... 1388484.24 |==================================== gcc -O2 ..................... 1299343.34 |================================= Stress-NG 0.16.04 Test: Malloc Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 1355058.48 |===================================== clang -O2 lto ............... 746222.72 |==================== clang -O2 -march=znver1 lto . 779938.09 |===================== clang -O2 -march=znver1 ..... 808595.98 |====================== clang -O2 ................... 793711.73 |====================== gcc -O2 ..................... 1235464.89 |================================== Stress-NG 0.16.04 Test: Forking Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 10985.08 |======================================= clang -O2 lto ............... 10316.11 |==================================== clang -O2 -march=znver1 lto . 10507.55 |===================================== clang -O2 -march=znver1 ..... 10454.71 |===================================== clang -O2 ................... 11088.01 |======================================= gcc -O2 ..................... 10878.69 |====================================== Stress-NG 0.16.04 Test: IO_uring Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 70103.58 |===================================== clang -O2 lto ............... 70857.41 |===================================== clang -O2 -march=znver1 lto . 69337.12 |===================================== clang -O2 -march=znver1 ..... 73843.27 |======================================= clang -O2 ................... 69797.39 |===================================== gcc -O2 ..................... 69595.80 |===================================== Stress-NG 0.16.04 Test: CPU Cache Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 1246310.92 |===================================== clang -O2 lto ............... 1234895.33 |===================================== clang -O2 -march=znver1 lto . 1223147.59 |==================================== clang -O2 -march=znver1 ..... 1206353.72 |==================================== clang -O2 ................... 1229529.72 |===================================== gcc -O2 ..................... 1225248.53 |==================================== Stress-NG 0.16.04 Test: Socket Activity Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 1589.88 |======================================== clang -O2 lto ............... 1338.35 |================================= clang -O2 -march=znver1 lto . 1362.10 |================================== clang -O2 -march=znver1 ..... 1346.65 |================================= clang -O2 ................... 1339.06 |================================= gcc -O2 ..................... 1609.09 |======================================== Stress-NG 0.16.04 Test: Context Switching Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 1149698.07 |=================================== clang -O2 lto ............... 1203058.45 |===================================== clang -O2 -march=znver1 lto . 1205732.52 |===================================== clang -O2 -march=znver1 ..... 1200167.03 |===================================== clang -O2 ................... 1210096.27 |===================================== gcc -O2 ..................... 1158150.86 |=================================== Stress-NG 0.16.04 Test: Vector Floating Point Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 5109.39 |======================================= clang -O2 lto ............... 5115.29 |======================================= clang -O2 -march=znver1 lto . 5109.63 |======================================= clang -O2 -march=znver1 ..... 5148.02 |======================================== clang -O2 ................... 5157.71 |======================================== gcc -O2 ..................... 5183.35 |======================================== Stress-NG 0.16.04 Test: Glibc C String Functions Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 1148464.70 |===================================== clang -O2 lto ............... 1075373.75 |=================================== clang -O2 -march=znver1 lto . 1092831.38 |=================================== clang -O2 -march=znver1 ..... 1080905.89 |=================================== clang -O2 ................... 1077836.73 |=================================== gcc -O2 ..................... 1147586.60 |===================================== Stress-NG 0.16.04 Test: Glibc Qsort Data Sorting Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 73.23 |========================================== clang -O2 lto ............... 73.27 |========================================== clang -O2 -march=znver1 lto . 73.45 |========================================== clang -O2 -march=znver1 ..... 73.04 |========================================== clang -O2 ................... 73.69 |========================================== gcc -O2 ..................... 73.78 |========================================== Stress-NG 0.16.04 Test: System V Message Passing Bogo Ops/s > Higher Is Better gcc -O2 -march=znver1 ....... 7398499.77 |===================================== clang -O2 lto ............... 7172503.32 |==================================== clang -O2 -march=znver1 lto . 7084240.51 |=================================== clang -O2 -march=znver1 ..... 7025718.08 |=================================== clang -O2 ................... 6944116.56 |=================================== gcc -O2 ..................... 7361193.73 |===================================== Flexible IO Tester 3.36 Type: Random Read - Engine: IO_uring - Direct: No - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory MB/s > Higher Is Better gcc -O2 ..................... 871 |=========================================== gcc -O2 -march=znver1 ....... 883 |============================================ clang -O2 lto ............... 244 |============ clang -O2 -march=znver1 lto . 254 |============= clang -O2 -march=znver1 ..... 240 |============ clang -O2 ................... 252 |============= Flexible IO Tester 3.36 Type: Random Read - Engine: IO_uring - Direct: No - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory IOPS > Higher Is Better gcc -O2 ..................... 223000 |======================================== gcc -O2 -march=znver1 ....... 226333 |========================================= clang -O2 lto ............... 62367 |=========== clang -O2 -march=znver1 lto . 65033 |============ clang -O2 -march=znver1 ..... 61433 |=========== clang -O2 ................... 64500 |============ Flexible IO Tester 3.36 Type: Random Write - Engine: IO_uring - Direct: No - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory MB/s > Higher Is Better gcc -O2 ..................... 595 |============================================ gcc -O2 -march=znver1 ....... 598 |============================================ clang -O2 lto ............... 430 |================================ clang -O2 -march=znver1 lto . 438 |================================ clang -O2 -march=znver1 ..... 430 |================================ clang -O2 ................... 399 |============================= Flexible IO Tester 3.36 Type: Random Write - Engine: IO_uring - Direct: No - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory IOPS > Higher Is Better gcc -O2 ..................... 152267 |========================================= gcc -O2 -march=znver1 ....... 153000 |========================================= clang -O2 lto ............... 110147 |============================== clang -O2 -march=znver1 lto . 112213 |============================== clang -O2 -march=znver1 ..... 110040 |============================= clang -O2 ................... 102047 |=========================== Ethr 1.0 Server Address: localhost - Protocol: UDP - Test: Bandwidth - Threads: 8 Packets/sec > Higher Is Better gcc -O2 ..................... 1480400 |======================================== gcc -O2 -march=znver1 ....... 1472267 |======================================== clang -O2 lto ............... 1371600 |===================================== clang -O2 -march=znver1 lto . 1386800 |===================================== clang -O2 -march=znver1 ..... 1279316 |=================================== clang -O2 ................... 1257710 |================================== perf-bench Benchmark: Epoll Wait ops/sec > Higher Is Better gcc -O2 ..................... 264802 |========================================= gcc -O2 -march=znver1 ....... 263275 |========================================= clang -O2 lto ............... 246716 |====================================== clang -O2 -march=znver1 lto . 244555 |====================================== clang -O2 -march=znver1 ..... 240783 |===================================== clang -O2 ................... 235974 |===================================== perf-bench Benchmark: Futex Hash ops/sec > Higher Is Better gcc -O2 ..................... 4462515 |======================================== gcc -O2 -march=znver1 ....... 4177210 |===================================== clang -O2 lto ............... 4216860 |====================================== clang -O2 -march=znver1 lto . 4165135 |===================================== clang -O2 -march=znver1 ..... 4208067 |====================================== clang -O2 ................... 4191476 |====================================== perf-bench Benchmark: Memcpy 1MB GB/sec > Higher Is Better gcc -O2 ..................... 15.53 |========================================== gcc -O2 -march=znver1 ....... 15.46 |========================================== clang -O2 lto ............... 15.39 |========================================== clang -O2 -march=znver1 lto . 15.11 |========================================= clang -O2 -march=znver1 ..... 15.24 |========================================= clang -O2 ................... 15.28 |========================================= perf-bench Benchmark: Memset 1MB GB/sec > Higher Is Better gcc -O2 ..................... 49.87 |========================================== gcc -O2 -march=znver1 ....... 49.16 |========================================= clang -O2 lto ............... 49.45 |========================================== clang -O2 -march=znver1 lto . 48.81 |========================================= clang -O2 -march=znver1 ..... 43.91 |===================================== clang -O2 ................... 47.70 |======================================== perf-bench Benchmark: Sched Pipe ops/sec > Higher Is Better gcc -O2 ..................... 148477 |========================================= gcc -O2 -march=znver1 ....... 150039 |========================================= clang -O2 lto ............... 57681 |================ clang -O2 -march=znver1 lto . 56960 |================ clang -O2 -march=znver1 ..... 57861 |================ clang -O2 ................... 57351 |================ perf-bench Benchmark: Futex Lock-Pi ops/sec > Higher Is Better gcc -O2 ..................... 1886 |=========================================== gcc -O2 -march=znver1 ....... 1855 |========================================== clang -O2 lto ............... 1370 |=============================== clang -O2 -march=znver1 lto . 1363 |=============================== clang -O2 -march=znver1 ..... 1378 |=============================== clang -O2 ................... 1350 |=============================== perf-bench Benchmark: Syscall Basic ops/sec > Higher Is Better gcc -O2 ..................... 19951194 |======================================= gcc -O2 -march=znver1 ....... 19459124 |====================================== clang -O2 lto ............... 19546593 |====================================== clang -O2 -march=znver1 lto . 19015027 |===================================== clang -O2 -march=znver1 ..... 19089585 |===================================== clang -O2 ................... 19222437 |====================================== CacheBench Test: Read MB/s > Higher Is Better gcc -O2 ..................... 2672.76 |======================================== gcc -O2 -march=znver1 ....... 2668.89 |======================================== clang -O2 lto ............... 2637.17 |======================================= clang -O2 -march=znver1 lto . 2635.97 |======================================= clang -O2 -march=znver1 ..... 2635.95 |======================================= clang -O2 ................... 2635.37 |======================================= CacheBench Test: Write MB/s > Higher Is Better gcc -O2 ..................... 26395.12 |======================================= gcc -O2 -march=znver1 ....... 26339.64 |======================================= clang -O2 lto ............... 26082.98 |======================================= clang -O2 -march=znver1 lto . 26099.46 |======================================= clang -O2 -march=znver1 ..... 26098.78 |======================================= clang -O2 ................... 26064.73 |======================================= CacheBench Test: Read / Modify / Write MB/s > Higher Is Better gcc -O2 ..................... 50992.77 |======================================= gcc -O2 -march=znver1 ....... 50858.37 |======================================= clang -O2 lto ............... 50351.07 |======================================= clang -O2 -march=znver1 lto . 50214.59 |====================================== clang -O2 -march=znver1 ..... 50308.27 |====================================== clang -O2 ................... 50251.96 |====================================== OpenSSL 3.1 Algorithm: SHA512 byte/s > Higher Is Better gcc -O2 ..................... 1053360105 |===================================== gcc -O2 -march=znver1 ....... 1050602290 |===================================== clang -O2 lto ............... 1046471660 |===================================== clang -O2 -march=znver1 lto . 1029156002 |==================================== clang -O2 -march=znver1 ..... 1007046867 |=================================== clang -O2 ................... 1028374403 |==================================== OpenSSL 3.1 Algorithm: RSA4096 sign/s > Higher Is Better gcc -O2 ..................... 638.0 |========================================== gcc -O2 -march=znver1 ....... 635.9 |========================================== clang -O2 lto ............... 628.1 |========================================= clang -O2 -march=znver1 lto . 624.4 |========================================= clang -O2 -march=znver1 ..... 625.1 |========================================= clang -O2 ................... 622.3 |========================================= OpenSSL 3.1 Algorithm: RSA4096 verify/s > Higher Is Better gcc -O2 ..................... 39935.2 |======================================== gcc -O2 -march=znver1 ....... 39624.7 |======================================== clang -O2 lto ............... 39102.2 |======================================= clang -O2 -march=znver1 lto . 38874.4 |======================================= clang -O2 -march=znver1 ..... 38932.6 |======================================= clang -O2 ................... 38935.4 |======================================= Memcached 1.6.19 Set To Get Ratio: 1:5 Ops/sec > Higher Is Better gcc -O2 ..................... 582274.27 |====================================== gcc -O2 -march=znver1 ....... 576805.91 |====================================== clang -O2 lto ............... 424516.39 |============================ clang -O2 -march=znver1 lto . 423774.74 |============================ clang -O2 -march=znver1 ..... 430642.34 |============================ clang -O2 ................... 412560.50 |=========================== Memcached 1.6.19 Set To Get Ratio: 1:100 Ops/sec > Higher Is Better gcc -O2 ..................... 576981.86 |====================================== gcc -O2 -march=znver1 ....... 577815.46 |====================================== clang -O2 lto ............... 414930.24 |=========================== clang -O2 -march=znver1 lto . 411819.55 |=========================== clang -O2 -march=znver1 ..... 408759.68 |=========================== clang -O2 ................... 398332.83 |========================== BenchmarkMutex Benchmark: Mutex Lock Unlock std::mutex ns < Lower Is Better gcc -O2 ..................... 16.7 |========================================== gcc -O2 -march=znver1 ....... 16.7 |========================================== clang -O2 lto ............... 17.0 |=========================================== clang -O2 -march=znver1 lto . 17.1 |=========================================== clang -O2 -march=znver1 ..... 17.0 |=========================================== clang -O2 ................... 17.2 |=========================================== BenchmarkMutex Benchmark: Mutex Lock Unlock pthread_mutex ns < Lower Is Better gcc -O2 ..................... 13.4 |========================================== gcc -O2 -march=znver1 ....... 13.4 |========================================== clang -O2 lto ............... 13.6 |=========================================== clang -O2 -march=znver1 lto . 13.5 |========================================== clang -O2 -march=znver1 ..... 13.7 |=========================================== clang -O2 ................... 13.6 |=========================================== SuperTuxKart 1.1 Resolution: 1920 x 1080 - Mode: Fullscreen - Graphics Effects: Ultimate - Karts: 2 - Scene: Candela City Frames Per Second > Higher Is Better clang -O2 ................... 116.65 |========================================= clang -O2 -march=znver1 ..... 117.59 |========================================= clang -O2 -march=znver1 lto . 117.58 |========================================= clang -O2 lto ............... 117.34 |========================================= gcc -O2 -march=znver1 ....... 117.44 |========================================= gcc -O2 ..................... 117.61 |========================================= Tesseract 2014-05-12 Resolution: 1920 x 1080 Frames Per Second > Higher Is Better clang -O2 ................... 109.00 |======================================= clang -O2 -march=znver1 ..... 113.22 |========================================= clang -O2 -march=znver1 lto . 108.62 |======================================= clang -O2 lto ............... 109.15 |======================================== gcc -O2 -march=znver1 ....... 109.81 |======================================== gcc -O2 ..................... 103.45 |===================================== Loopback TCP Network Performance Time To Transfer 10GB Via Loopback Seconds < Lower Is Better clang -O2 ................... 17.50 |========================================== clang -O2 -march=znver1 ..... 12.17 |============================= clang -O2 -march=znver1 lto . 17.60 |========================================== clang -O2 lto ............... 17.69 |========================================== gcc -O2 -march=znver1 ....... 17.54 |========================================== gcc -O2 ..................... 17.70 |========================================== Zstd Compression 1.5.4 Compression Level: 12 - Compression Speed MB/s > Higher Is Better clang -O2 ................... 34.4 |========================================== clang -O2 -march=znver1 ..... 35.1 |=========================================== clang -O2 -march=znver1 lto . 34.9 |=========================================== clang -O2 lto ............... 34.8 |=========================================== gcc -O2 -march=znver1 ....... 35.0 |=========================================== gcc -O2 ..................... 34.8 |=========================================== Zstd Compression 1.5.4 Compression Level: 12 - Decompression Speed MB/s > Higher Is Better clang -O2 ................... 1165.6 |======================================== clang -O2 -march=znver1 ..... 1199.4 |========================================= clang -O2 -march=znver1 lto . 1200.5 |========================================= clang -O2 lto ............... 1194.6 |========================================= gcc -O2 -march=znver1 ....... 1190.7 |========================================= gcc -O2 ..................... 1189.8 |========================================= SQLite Speedtest 3.30 Timed Time - Size 1,000 Seconds < Lower Is Better clang -O2 ................... 79.72 |========================================== clang -O2 -march=znver1 ..... 80.03 |========================================== clang -O2 -march=znver1 lto . 79.91 |========================================== clang -O2 lto ............... 79.53 |========================================= gcc -O2 -march=znver1 ....... 80.59 |========================================== gcc -O2 ..................... 79.95 |========================================== PyBench 2018-02-16 Total For Average Test Times Milliseconds < Lower Is Better clang -O2 ................... 1064 |=========================================== clang -O2 -march=znver1 ..... 1051 |========================================== clang -O2 -march=znver1 lto . 1063 |=========================================== clang -O2 lto ............... 1063 |=========================================== gcc -O2 -march=znver1 ....... 1051 |========================================== gcc -O2 ..................... 1069 |=========================================== Apache HTTP Server 2.4.56 Concurrent Requests: 500 Requests Per Second > Higher Is Better clang -O2 ................... 18040.29 |======================================= clang -O2 -march=znver1 ..... 18063.54 |======================================= clang -O2 -march=znver1 lto . 17934.75 |====================================== clang -O2 lto ............... 17914.30 |====================================== gcc -O2 -march=znver1 ....... 17800.61 |====================================== gcc -O2 ..................... 18194.65 |======================================= PHPBench 0.8.1 PHP Benchmark Suite Score > Higher Is Better clang -O2 ................... 412184 |============================== clang -O2 -march=znver1 ..... 571452 |========================================= clang -O2 -march=znver1 lto . 409329 |============================= clang -O2 lto ............... 410608 |============================= gcc -O2 -march=znver1 ....... 436938 |=============================== gcc -O2 ..................... 443356 |================================