Ryzen 9 5950X LLVM Clang 12 Benchmarks AMD Ryzen 9 5950X LLVM Clang compiler benchmarks by Michael Larabel for a future article. Clang 11: -O2 -march=x86-64: Processor: AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (3202 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 2000GB Corsair Force MP600 + 2000GB, Graphics: NVIDIA GeForce RTX 3080 10GB, Audio: NVIDIA Device 1aef, Monitor: ASUS MG28U, Network: Realtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.10, Kernel: 5.8.0-41-generic (x86_64), Desktop: GNOME Shell 3.38.2, Display Server: X Server 1.20.9, Display Driver: NVIDIA 460.39, OpenGL: 4.6.0, OpenCL: OpenCL 1.2 CUDA 11.2.136, Vulkan: 1.2.155, Compiler: Clang 11.1.0 + LLVM 11.1.0, File-System: ext4, Screen Resolution: 3840x2160 Clang 11: -O2 -march=native: Processor: AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (3202 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 2000GB Corsair Force MP600 + 2000GB, Graphics: NVIDIA GeForce RTX 3080 10GB, Audio: NVIDIA Device 1aef, Monitor: ASUS MG28U, Network: Realtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.10, Kernel: 5.8.0-41-generic (x86_64), Desktop: GNOME Shell 3.38.2, Display Server: X Server 1.20.9, Display Driver: NVIDIA 460.39, OpenGL: 4.6.0, OpenCL: OpenCL 1.2 CUDA 11.2.136, Vulkan: 1.2.155, Compiler: Clang 11.1.0 + LLVM 11.1.0, File-System: ext4, Screen Resolution: 3840x2160 Clang 11: -O3 -march=native: Processor: AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (3202 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 2000GB Corsair Force MP600 + 2000GB, Graphics: NVIDIA GeForce RTX 3080 10GB, Audio: NVIDIA Device 1aef, Monitor: ASUS MG28U, Network: Realtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.10, Kernel: 5.8.0-41-generic (x86_64), Desktop: GNOME Shell 3.38.2, Display Server: X Server 1.20.9, Display Driver: NVIDIA 460.39, OpenGL: 4.6.0, OpenCL: OpenCL 1.2 CUDA 11.2.136, Vulkan: 1.2.155, Compiler: Clang 11.1.0 + LLVM 11.1.0, File-System: ext4, Screen Resolution: 3840x2160 Clang 12: -O2 -march=x86-64: Processor: AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (3202 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 2000GB Corsair Force MP600 + 2000GB, Graphics: NVIDIA GeForce RTX 3080 10GB, Audio: NVIDIA Device 1aef, Monitor: ASUS MG28U, Network: Realtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.10, Kernel: 5.8.0-41-generic (x86_64), Desktop: GNOME Shell 3.38.2, Display Server: X Server 1.20.9, Display Driver: NVIDIA 460.39, OpenGL: 4.6.0, OpenCL: OpenCL 1.2 CUDA 11.2.136, Vulkan: 1.2.155, Compiler: Clang 12.0.0 + LLVM 12.0.0, File-System: ext4, Screen Resolution: 3840x2160 Clang 12: -O2 -march=native: Processor: AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (3202 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 2000GB Corsair Force MP600 + 2000GB, Graphics: NVIDIA GeForce RTX 3080 10GB, Audio: NVIDIA Device 1aef, Monitor: ASUS MG28U, Network: Realtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.10, Kernel: 5.8.0-41-generic (x86_64), Desktop: GNOME Shell 3.38.2, Display Server: X Server 1.20.9, Display Driver: NVIDIA 460.39, OpenGL: 4.6.0, OpenCL: OpenCL 1.2 CUDA 11.2.136, Vulkan: 1.2.155, Compiler: Clang 12.0.0 + LLVM 12.0.0, File-System: ext4, Screen Resolution: 3840x2160 Clang 12: -O3 -march=native: Processor: AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (3202 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 2000GB Corsair Force MP600 + 2000GB, Graphics: NVIDIA GeForce RTX 3080 10GB, Audio: NVIDIA Device 1aef, Monitor: ASUS MG28U, Network: Realtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.10, Kernel: 5.8.0-41-generic (x86_64), Desktop: GNOME Shell 3.38.2, Display Server: X Server 1.20.9, Display Driver: NVIDIA 460.39, OpenGL: 4.6.0, OpenCL: OpenCL 1.2 CUDA 11.2.136, Vulkan: 1.2.155, Compiler: Clang 12.0.0 + LLVM 12.0.0, File-System: ext4, Screen Resolution: 3840x2160 LuaJIT 2.1-git Test: Composite Mflops > Higher Is Better Clang 11: -O2 -march=x86-64 . 1982.52 |======================================== Clang 11: -O2 -march=native . 1948.66 |======================================= Clang 11: -O3 -march=native . 1926.44 |======================================= Clang 12: -O2 -march=x86-64 . 1956.48 |======================================= Clang 12: -O2 -march=native . 1974.84 |======================================== Clang 12: -O3 -march=native . 1960.62 |======================================== SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better Clang 11: -O2 -march=x86-64 . 2480.72 |======================================= Clang 11: -O2 -march=native . 2482.00 |======================================= Clang 11: -O3 -march=native . 2472.44 |======================================= Clang 12: -O2 -march=x86-64 . 2514.74 |======================================== Clang 12: -O2 -march=native . 2455.82 |======================================= Clang 12: -O3 -march=native . 2509.79 |======================================== dav1d 0.8.1 Video Input: Chimera 1080p 10-bit FPS > Higher Is Better Clang 11: -O2 -march=x86-64 . 114.73 |========================== Clang 11: -O2 -march=native . 118.14 |=========================== Clang 11: -O3 -march=native . 128.12 |============================= Clang 12: -O2 -march=x86-64 . 116.14 |========================== Clang 12: -O2 -march=native . 158.51 |==================================== Clang 12: -O3 -march=native . 182.61 |========================================= AOM AV1 2.0 Encoder Mode: Speed 8 Realtime Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 53.09 |======================================== Clang 11: -O2 -march=native . 55.58 |========================================== Clang 11: -O3 -march=native . 55.12 |========================================== Clang 12: -O2 -march=x86-64 . 53.15 |======================================== Clang 12: -O2 -march=native . 53.66 |========================================= Clang 12: -O3 -march=native . 54.66 |========================================= Kvazaar 2.0 Video Input: Bosphorus 4K - Video Preset: Slow Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 11.38 |========================================= Clang 11: -O2 -march=native . 11.47 |========================================= Clang 11: -O3 -march=native . 11.45 |========================================= Clang 12: -O2 -march=x86-64 . 11.51 |========================================= Clang 12: -O2 -march=native . 11.76 |========================================== Clang 12: -O3 -march=native . 11.77 |========================================== Kvazaar 2.0 Video Input: Bosphorus 4K - Video Preset: Medium Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 11.54 |========================================= Clang 11: -O2 -march=native . 11.63 |========================================= Clang 11: -O3 -march=native . 11.58 |========================================= Clang 12: -O2 -march=x86-64 . 11.66 |========================================= Clang 12: -O2 -march=native . 11.90 |========================================== Clang 12: -O3 -march=native . 11.92 |========================================== Kvazaar 2.0 Video Input: Bosphorus 1080p - Video Preset: Slow Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 44.25 |========================================= Clang 11: -O2 -march=native . 44.67 |========================================= Clang 11: -O3 -march=native . 44.53 |========================================= Clang 12: -O2 -march=x86-64 . 44.78 |========================================= Clang 12: -O2 -march=native . 45.59 |========================================== Clang 12: -O3 -march=native . 45.49 |========================================== Kvazaar 2.0 Video Input: Bosphorus 1080p - Video Preset: Medium Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 45.49 |========================================= Clang 11: -O2 -march=native . 45.88 |========================================= Clang 11: -O3 -march=native . 45.64 |========================================= Clang 12: -O2 -march=x86-64 . 45.85 |========================================= Clang 12: -O2 -march=native . 46.66 |========================================== Clang 12: -O3 -march=native . 46.72 |========================================== Kvazaar 2.0 Video Input: Bosphorus 4K - Video Preset: Very Fast Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 29.71 |======================================== Clang 11: -O2 -march=native . 30.00 |========================================= Clang 11: -O3 -march=native . 30.30 |========================================= Clang 12: -O2 -march=x86-64 . 29.67 |======================================== Clang 12: -O2 -march=native . 30.80 |========================================== Clang 12: -O3 -march=native . 30.92 |========================================== Kvazaar 2.0 Video Input: Bosphorus 1080p - Video Preset: Very Fast Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 107.06 |======================================== Clang 11: -O2 -march=native . 108.35 |======================================== Clang 11: -O3 -march=native . 109.31 |========================================= Clang 12: -O2 -march=x86-64 . 107.34 |======================================== Clang 12: -O2 -march=native . 109.26 |======================================== Clang 12: -O3 -march=native . 110.61 |========================================= SVT-AV1 0.8 Encoder Mode: Enc Mode 4 - Input: 1080p Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 6.650 |========================================== Clang 11: -O2 -march=native . 6.693 |========================================== Clang 11: -O3 -march=native . 6.654 |========================================== Clang 12: -O2 -march=x86-64 . 6.688 |========================================== Clang 12: -O2 -march=native . 6.708 |========================================== Clang 12: -O3 -march=native . 6.721 |========================================== SVT-AV1 0.8 Encoder Mode: Enc Mode 8 - Input: 1080p Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 62.76 |========================================== Clang 11: -O2 -march=native . 62.47 |========================================= Clang 11: -O3 -march=native . 62.24 |========================================= Clang 12: -O2 -march=x86-64 . 63.29 |========================================== Clang 12: -O2 -march=native . 63.09 |========================================== Clang 12: -O3 -march=native . 62.36 |========================================= SVT-VP9 0.1 Tuning: Visual Quality Optimized - Input: Bosphorus 1080p Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 210.92 |======================================== Clang 11: -O2 -march=native . 213.83 |========================================= Clang 11: -O3 -march=native . 212.19 |========================================= Clang 12: -O2 -march=x86-64 . 214.65 |========================================= Clang 12: -O2 -march=native . 209.57 |======================================== Clang 12: -O3 -march=native . 211.05 |======================================== x265 3.4 Video Input: Bosphorus 4K Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 26.44 |========================================== Clang 11: -O2 -march=native . 26.09 |========================================= Clang 11: -O3 -march=native . 26.14 |========================================= Clang 12: -O2 -march=x86-64 . 26.67 |========================================== Clang 12: -O2 -march=native . 26.47 |========================================== Clang 12: -O3 -march=native . 26.60 |========================================== x265 3.4 Video Input: Bosphorus 1080p Frames Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 83.47 |========================================= Clang 11: -O2 -march=native . 83.21 |========================================= Clang 11: -O3 -march=native . 83.37 |========================================= Clang 12: -O2 -march=x86-64 . 83.32 |========================================= Clang 12: -O2 -march=native . 84.51 |========================================== Clang 12: -O3 -march=native . 84.89 |========================================== Coremark 1.0 CoreMark Size 666 - Iterations Per Second Iterations/Sec > Higher Is Better Clang 11: -O2 -march=x86-64 . 698762.91 |==================================== Clang 11: -O2 -march=native . 736260.99 |====================================== Clang 11: -O3 -march=native . 717745.32 |===================================== Clang 12: -O2 -march=x86-64 . 713084.37 |===================================== Clang 12: -O2 -march=native . 715052.57 |===================================== Clang 12: -O3 -march=native . 729933.40 |====================================== Timed ImageMagick Compilation 6.9.0 Time To Compile Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 13.05 |================================== Clang 11: -O2 -march=native . 13.02 |================================== Clang 11: -O3 -march=native . 15.46 |======================================== Clang 12: -O2 -march=x86-64 . 13.45 |=================================== Clang 12: -O2 -march=native . 13.30 |=================================== Clang 12: -O3 -march=native . 16.05 |========================================== C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 48.77 |========================================== Clang 11: -O2 -march=native . 43.56 |===================================== Clang 11: -O3 -march=native . 43.77 |====================================== Clang 12: -O2 -march=x86-64 . 48.86 |========================================== Clang 12: -O2 -march=native . 44.23 |====================================== Clang 12: -O3 -march=native . 44.77 |====================================== AOBench Size: 2048 x 2048 - Total Time Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 33.32 |========================================== Clang 11: -O2 -march=native . 32.47 |========================================= Clang 11: -O3 -march=native . 29.09 |===================================== Clang 12: -O2 -march=x86-64 . 33.11 |========================================== Clang 12: -O2 -march=native . 30.94 |======================================= Clang 12: -O3 -march=native . 28.55 |==================================== Bullet Physics Engine 2.81 Test: Raytests Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 1.801322 |======================================= Clang 11: -O2 -march=native . 1.760128 |====================================== Clang 11: -O3 -march=native . 1.730558 |===================================== Clang 12: -O2 -march=x86-64 . 1.812133 |======================================= Clang 12: -O2 -march=native . 1.740503 |===================================== Clang 12: -O3 -march=native . 1.725787 |===================================== Bullet Physics Engine 2.81 Test: 1000 Convex Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 3.020153 |======================================= Clang 11: -O2 -march=native . 2.927257 |====================================== Clang 11: -O3 -march=native . 2.866458 |===================================== Clang 12: -O2 -march=x86-64 . 3.003300 |======================================= Clang 12: -O2 -march=native . 2.972587 |====================================== Clang 12: -O3 -march=native . 2.950441 |====================================== LAME MP3 Encoding 3.100 WAV To MP3 Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 6.601 |========================================== Clang 11: -O2 -march=native . 5.890 |===================================== Clang 11: -O3 -march=native . 6.070 |====================================== Clang 12: -O2 -march=x86-64 . 6.632 |========================================== Clang 12: -O2 -march=native . 5.924 |====================================== Clang 12: -O3 -march=native . 6.095 |======================================= Opus Codec Encoding 1.3.1 WAV To Opus Encode Seconds < Lower Is Better Clang 11: -O2 -march=x86-64 . 5.959 |========================================== Clang 11: -O2 -march=native . 5.445 |====================================== Clang 11: -O3 -march=native . 5.474 |======================================= Clang 12: -O2 -march=x86-64 . 5.926 |========================================== Clang 12: -O2 -march=native . 5.488 |======================================= Clang 12: -O3 -march=native . 5.579 |======================================= OpenSSL 1.1.1 RSA 4096-bit Performance Signs Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 3649.9 |========================================= Clang 11: -O2 -march=native . 3658.5 |========================================= Clang 11: -O3 -march=native . 3651.5 |========================================= Clang 12: -O2 -march=x86-64 . 3659.4 |========================================= Clang 12: -O2 -march=native . 3655.3 |========================================= Clang 12: -O3 -march=native . 3656.9 |========================================= NGINX Benchmark 1.9.9 Static Web Page Serving Requests Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 51350.56 |====================================== Clang 11: -O2 -march=native . 52634.67 |======================================= Clang 11: -O3 -march=native . 53290.23 |======================================= Clang 12: -O2 -march=x86-64 . 53057.98 |======================================= Clang 12: -O2 -march=native . 52911.35 |======================================= Clang 12: -O3 -march=native . 52443.24 |====================================== Apache Benchmark 2.4.29 Static Web Page Serving Requests Per Second > Higher Is Better Clang 11: -O2 -march=x86-64 . 46762.17 |====================================== Clang 11: -O2 -march=native . 46421.84 |====================================== Clang 11: -O3 -march=native . 46999.29 |======================================= Clang 12: -O2 -march=x86-64 . 47395.65 |======================================= Clang 12: -O2 -march=native . 46829.91 |======================================= Clang 12: -O3 -march=native . 47007.23 |======================================= JPEG XL 0.3.1 Input: JPEG - Encode Speed: 5 MP/s > Higher Is Better Clang 11: -O2 -march=x86-64 . 83.26 |======================================= Clang 11: -O2 -march=native . 85.43 |========================================= Clang 11: -O3 -march=native . 87.74 |========================================== Clang 12: -O2 -march=x86-64 . 85.85 |========================================= Clang 12: -O2 -march=native . 86.19 |========================================= Clang 12: -O3 -march=native . 88.55 |========================================== JPEG XL 0.3.1 Input: JPEG - Encode Speed: 7 MP/s > Higher Is Better Clang 11: -O2 -march=x86-64 . 83.33 |======================================== Clang 11: -O2 -march=native . 85.50 |========================================= Clang 11: -O3 -march=native . 87.56 |========================================== Clang 12: -O2 -march=x86-64 . 86.18 |========================================= Clang 12: -O2 -march=native . 86.23 |========================================= Clang 12: -O3 -march=native . 88.39 |========================================== JPEG XL 0.3.1 Input: PNG - Encode Speed: 5 MP/s > Higher Is Better Clang 11: -O2 -march=x86-64 . 75.59 |======================================== Clang 11: -O2 -march=native . 79.20 |========================================== Clang 11: -O3 -march=native . 78.65 |========================================== Clang 12: -O2 -march=x86-64 . 77.43 |========================================= Clang 12: -O2 -march=native . 79.58 |========================================== Clang 12: -O3 -march=native . 77.78 |========================================= JPEG XL 0.3.1 Input: PNG - Encode Speed: 7 MP/s > Higher Is Better Clang 11: -O2 -march=x86-64 . 11.33 |========================================= Clang 11: -O2 -march=native . 11.64 |========================================== Clang 11: -O3 -march=native . 11.60 |========================================== Clang 12: -O2 -march=x86-64 . 11.67 |========================================== Clang 12: -O2 -march=native . 11.67 |========================================== Clang 12: -O3 -march=native . 11.57 |==========================================