Debian Linux GCC 8 Benchmark -mindirect-branch=thunk GCC 8 benchmarking of user-space with -mindirect-branch=thunk and -mindirect-branch=thunk-inline for retpolines. Tests by Michael Larabel for a future article on Phoronix.com. Stock: Processor: Intel Core i9-7980XE @ 4.40GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1004 BIOS), Chipset: Intel Device 2020, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: LLVMpipe, Audio: Realtek ALC1220, Monitor: Acer B286HK, Network: Intel Connection OS: Debian 9.3, Kernel: 4.15.0-rc8-retpo-underflow (x86_64) 20180115, Desktop: GNOME Shell 3.22.3, Display Driver: modesetting 1.19.2, OpenGL: 3.3 Mesa 13.0.6 Gallium 0.4 (LLVM 3.9 256 bits), Compiler: GCC 8.0.1 20180115, File-System: ext4, Screen Resolution: 3840x2160 -mindirect-branch=thunk: Processor: Intel Core i9-7980XE @ 4.40GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1004 BIOS), Chipset: Intel Device 2020, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: LLVMpipe, Audio: Realtek ALC1220, Monitor: Acer B286HK, Network: Intel Connection OS: Debian 9.3, Kernel: 4.15.0-rc8-retpo-underflow (x86_64) 20180115, Desktop: GNOME Shell 3.22.3, Display Driver: modesetting 1.19.2, OpenGL: 3.3 Mesa 13.0.6 Gallium 0.4 (LLVM 3.9 256 bits), Compiler: GCC 8.0.1 20180115, File-System: ext4, Screen Resolution: 3840x2160 -mindirect-branch=thunk-inline: Processor: Intel Core i9-7980XE @ 4.40GHz (18 Cores / 36 Threads), Motherboard: ASUS PRIME X299-A (1004 BIOS), Chipset: Intel Device 2020, Memory: 16384MB, Disk: 120GB Force MP500, Graphics: LLVMpipe, Audio: Realtek ALC1220, Monitor: Acer B286HK, Network: Intel Connection OS: Debian 9.3, Kernel: 4.15.0-rc8-retpo-underflow (x86_64) 20180115, Desktop: GNOME Shell 3.22.3, Display Driver: modesetting 1.19.2, OpenGL: 3.3 Mesa 13.0.6 Gallium 0.4 (LLVM 3.9 256 bits), Compiler: GCC 8.0.1 20180115, File-System: ext4, Screen Resolution: 3840x2160 spectre-tests: Processor: AMD Ryzen 7 1800X Eight-Core @ 3.70GHz (8 Cores / 16 Threads), Motherboard: ASRock X370 Professional Gaming, Chipset: AMD Family 17h, Memory: 64512MB, Disk: 500GB Samsung SSD 850 + 2000GB Western Digital WD2003FZEX-0, Graphics: llvmpipe 6144MB (139/405MHz), Audio: NVIDIA GP106 HD Audio, Monitor: HP ZR2440w, Network: Aquantia Device d108 + Intel Device 24fb OS: openSUSE 20180129, Kernel: 4.14.15-1-default (x86_64), Display Server: X Server 1.19.6, Display Driver: NVIDIA 384.111, OpenGL: 3.3 Mesa 17.3.3 (LLVM 5.0 128 bits), Vulkan: 1.0.65, Compiler: GCC 7.3.0 + Clang 5.0.1 (SVN 312548) + LLVM 5.0.1 + ICC + CUDA 8.0, File-System: btrfs, Screen Resolution: 3840x1200 GNU MPC 1.1.0 Multi-Precision Benchmark Global Score > Higher Is Better Stock .......................... 10013 |======================================= -mindirect-branch=thunk ........ 9643 |====================================== -mindirect-branch=thunk-inline . 9830 |====================================== spectre-tests .................. 7557 |============================= HPC Challenge 1.5.0 Test / Class: G-HPL GFLOPS > Higher Is Better Stock .......................... 85.93 |======================================= -mindirect-branch=thunk ........ 86.05 |======================================= -mindirect-branch=thunk-inline . 85.98 |======================================= HPC Challenge 1.5.0 Test / Class: G-Ffte GFLOPS > Higher Is Better Stock .......................... 5.88475 |===================================== -mindirect-branch=thunk ........ 5.58564 |=================================== -mindirect-branch=thunk-inline . 5.56022 |=================================== HPC Challenge 1.5.0 Test / Class: G-Ffte GFLOP/s > Higher Is Better Stock .......................... 5.88475 |===================================== -mindirect-branch=thunk ........ 5.58564 |=================================== -mindirect-branch=thunk-inline . 5.56022 |=================================== High Performance Conjugate Gradient 3.0 GFLOP/s > Higher Is Better Stock .......................... 1.38 |======================================== -mindirect-branch=thunk ........ 1.35 |======================================= -mindirect-branch=thunk-inline . 1.38 |======================================== spectre-tests .................. 1.01 |============================= TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better Stock .......................... 1386794 |===================================== -mindirect-branch=thunk ........ 1185357 |================================ -mindirect-branch=thunk-inline . 1116421 |============================== spectre-tests .................. 1068228 |============================= Stockfish 2014-11-26 Total Time ms < Lower Is Better Stock .......................... 2904 |================================== -mindirect-branch=thunk ........ 3074 |==================================== -mindirect-branch=thunk-inline . 3228 |===================================== spectre-tests .................. 3454 |======================================== Bullet Physics Engine 2.81 Test: Raytests Seconds < Lower Is Better Stock .......................... 2.53 |=================================== -mindirect-branch=thunk ........ 2.78 |====================================== -mindirect-branch=thunk-inline . 2.89 |======================================== Bullet Physics Engine 2.81 Test: 3000 Fall Seconds < Lower Is Better Stock .......................... 3.88 |======================== -mindirect-branch=thunk ........ 4.11 |========================= -mindirect-branch=thunk-inline . 6.53 |======================================== spectre-tests .................. 4.25 |========================== Bullet Physics Engine 2.81 Test: 1000 Stack Seconds < Lower Is Better Stock .......................... 4.44 |===================================== -mindirect-branch=thunk ........ 4.57 |====================================== -mindirect-branch=thunk-inline . 4.83 |======================================== spectre-tests .................. 4.85 |======================================== Bullet Physics Engine 2.81 Test: 1000 Convex Seconds < Lower Is Better Stock .......................... 4.37 |=================================== -mindirect-branch=thunk ........ 4.65 |====================================== -mindirect-branch=thunk-inline . 4.93 |======================================== spectre-tests .................. 4.51 |===================================== Bullet Physics Engine 2.81 Test: Prim Trimesh Seconds < Lower Is Better Stock .......................... 0.92 |==================================== -mindirect-branch=thunk ........ 1.00 |======================================= -mindirect-branch=thunk-inline . 1.03 |======================================== spectre-tests .................. 0.89 |=================================== Bullet Physics Engine 2.81 Test: Convex Trimesh Seconds < Lower Is Better Stock .......................... 1.08 |================================== -mindirect-branch=thunk ........ 1.23 |====================================== -mindirect-branch=thunk-inline . 1.28 |======================================== spectre-tests .................. 1.11 |=================================== FFmpeg 3.3.3 H.264 HD To NTSC DV Seconds < Lower Is Better Stock .......................... 13.29 |===================================== -mindirect-branch=thunk ........ 13.89 |====================================== -mindirect-branch=thunk-inline . 14.13 |======================================= PostgreSQL pgbench 10.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better Stock .......................... 11387.09 |==================================== -mindirect-branch=thunk ........ 11104.86 |=================================== -mindirect-branch=thunk-inline . 11460.43 |==================================== spectre-tests .................. 2455.92 |======== PostgreSQL pgbench 10.0 Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write TPS > Higher Is Better Stock .......................... 11290.86 |==================================== -mindirect-branch=thunk ........ 11147.89 |==================================== -mindirect-branch=thunk-inline . 10540.60 |================================== spectre-tests .................. 3070.48 |========== Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better Stock .......................... 2222262.58 |================================= -mindirect-branch=thunk ........ 2187123.33 |================================ -mindirect-branch=thunk-inline . 2160702.13 |================================ spectre-tests .................. 2297157.92 |================================== Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better Stock .......................... 1399046.62 |============================ -mindirect-branch=thunk ........ 1280528.47 |========================== -mindirect-branch=thunk-inline . 1457026.92 |============================== spectre-tests .................. 1676110.71 |==================================