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 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 |======================================== 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 |======================================== 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 |======================================== 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 |======================================== 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 |======================================== TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better Stock .......................... 1386794 |===================================== -mindirect-branch=thunk ........ 1185357 |================================ -mindirect-branch=thunk-inline . 1116421 |============================== 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 |=================================== 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 |======================================== Stockfish 2014-11-26 Total Time ms < Lower Is Better Stock .......................... 2904 |==================================== -mindirect-branch=thunk ........ 3074 |====================================== -mindirect-branch=thunk-inline . 3228 |======================================== 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 |======================================= 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 |================================= 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 |================================== 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 |==================================== GNU MPC 1.1.0 Multi-Precision Benchmark Global Score > Higher Is Better Stock .......................... 10013 |======================================= -mindirect-branch=thunk ........ 9643 |====================================== -mindirect-branch=thunk-inline . 9830 |====================================== 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 |================================== 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 |===================================