Debian AMD EPYC AMD Ryzen Threadripper 1950X 16-Core testing with a Gigabyte X399 AORUS Gaming 7 (F3g BIOS) and MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB on Debian 9.3 via the Phoronix Test Suite. EPYC 7601: No Retpoline: Processor: AMD EPYC 7601 32-Core @ 2.20GHz (32 Cores / 64 Threads), Motherboard: TYAN B8026T70AE24HR (V0.05.B10 BIOS), Chipset: AMD Device 1450, Memory: 8 x 16384 MB DDR4-2666MHz Samsung M393A2K40BB2-CTD, Disk: 280GB INTEL SSDPE21D280GA, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Broadcom Limited NetXtreme BCM5720 Gigabit PCIe OS: Debian 9.3, Kernel: 4.15.0-999-generic (x86_64) 20180114, Compiler: GCC 6.3.0 20170516, File-System: ext4, Screen Resolution: 1920x1080 EPYC 7601: Minimal AMD Retpoline: Processor: AMD EPYC 7601 32-Core @ 2.20GHz (32 Cores / 64 Threads), Motherboard: TYAN B8026T70AE24HR (V0.05.B10 BIOS), Chipset: AMD Device 1450, Memory: 8 x 16384 MB DDR4-2666MHz Samsung M393A2K40BB2-CTD, Disk: 280GB INTEL SSDPE21D280GA, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Broadcom Limited NetXtreme BCM5720 Gigabit PCIe OS: Debian 9.3, Kernel: 4.15.0-999-generic (x86_64) 20180114, Compiler: GCC 6.3.0 20170516, File-System: ext4, Screen Resolution: 1920x1080 EPYC 7601: Minimal Generic Retpoline: Processor: AMD EPYC 7601 32-Core @ 2.20GHz (32 Cores / 64 Threads), Motherboard: TYAN B8026T70AE24HR (V0.05.B10 BIOS), Chipset: AMD Device 1450, Memory: 8 x 16384 MB DDR4-2666MHz Samsung M393A2K40BB2-CTD, Disk: 280GB INTEL SSDPE21D280GA, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Broadcom Limited NetXtreme BCM5720 Gigabit PCIe OS: Debian 9.3, Kernel: 4.15.0-999-generic (x86_64) 20180114, Compiler: GCC 6.3.0 20170516, File-System: ext4, Screen Resolution: 1920x1080 Threadripper 1950X: No Retpoline: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Device 1450, Memory: 4 x 4096 MB DDR4-3600MHz F4-3600C17-4GVK, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Device e0b1 + Intel Device 24fd OS: Debian 9.3, Kernel: 4.15.0-999-generic (x86_64) 20180114, Desktop: GNOME Shell 3.22.3, Display Driver: modesetting 1.19.2, Compiler: GCC 6.3.0 20170516, File-System: ext4 Threadripper 1950X: Minimal AMD Retpoline: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Device 1450, Memory: 4 x 4096 MB DDR4-3600MHz F4-3600C17-4GVK, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Device e0b1 + Intel Device 24fd OS: Debian 9.3, Kernel: 4.15.0-999-generic (x86_64) 20180114, Desktop: GNOME Shell 3.22.3, Display Driver: modesetting 1.19.2, Compiler: GCC 6.3.0 20170516, File-System: ext4 Threadripper 1950X: Minimal Generic Retpoline: Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: Gigabyte X399 AORUS Gaming 7 (F3g BIOS), Chipset: AMD Device 1450, Memory: 4 x 4096 MB DDR4-3600MHz F4-3600C17-4GVK, Disk: 120GB Force MP500, Graphics: MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MB, Audio: Realtek ALC1220, Monitor: VE228, Network: Qualcomm Atheros Device e0b1 + Intel Device 24fd OS: Debian 9.3, Kernel: 4.15.0-999-generic (x86_64) 20180114, Desktop: GNOME Shell 3.22.3, Display Driver: modesetting 1.19.2, Compiler: GCC 6.3.0 20170516, File-System: ext4 Flexible IO Tester 2.1.13 Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1138.90 |====================== EPYC 7601: Minimal AMD Retpoline .............. 1120.02 |====================== EPYC 7601: Minimal Generic Retpoline .......... 1122.83 |====================== Threadripper 1950X: No Retpoline .............. 556.08 |=========== Threadripper 1950X: Minimal AMD Retpoline ..... 368.86 |======= Threadripper 1950X: Minimal Generic Retpoline . 366.49 |======= Flexible IO Tester 2.1.13 Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better EPYC 7601: No Retpoline ....................... 291559 |======================= EPYC 7601: Minimal AMD Retpoline .............. 286702 |======================= EPYC 7601: Minimal Generic Retpoline .......... 287394 |======================= Threadripper 1950X: No Retpoline .............. 139017 |=========== Threadripper 1950X: Minimal AMD Retpoline ..... 92212 |======= Threadripper 1950X: Minimal Generic Retpoline . 91619 |======= Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1039.53 |===================== EPYC 7601: Minimal AMD Retpoline .............. 1095.63 |====================== EPYC 7601: Minimal Generic Retpoline .......... 1055.51 |===================== Threadripper 1950X: No Retpoline .............. 828.55 |================= Threadripper 1950X: Minimal AMD Retpoline ..... 830.93 |================= Threadripper 1950X: Minimal Generic Retpoline . 779.54 |================ Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better EPYC 7601: No Retpoline ....................... 266250 |====================== EPYC 7601: Minimal AMD Retpoline .............. 280471 |======================= EPYC 7601: Minimal Generic Retpoline .......... 270307 |====================== Threadripper 1950X: No Retpoline .............. 207134 |================= Threadripper 1950X: Minimal AMD Retpoline ..... 207729 |================= Threadripper 1950X: Minimal Generic Retpoline . 194880 |================ Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1182.00 |====================== EPYC 7601: Minimal AMD Retpoline .............. 1133.67 |===================== EPYC 7601: Minimal Generic Retpoline .......... 1173.48 |====================== Threadripper 1950X: No Retpoline .............. 511.67 |========== Threadripper 1950X: Minimal AMD Retpoline ..... 512.40 |========== Threadripper 1950X: Minimal Generic Retpoline . 512.90 |========== Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better EPYC 7601: No Retpoline ....................... 302572 |======================= EPYC 7601: Minimal AMD Retpoline .............. 290170 |====================== EPYC 7601: Minimal Generic Retpoline .......... 300394 |======================= Threadripper 1950X: No Retpoline .............. 127913 |========== Threadripper 1950X: Minimal AMD Retpoline ..... 128095 |========== Threadripper 1950X: Minimal Generic Retpoline . 128222 |========== Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1090.37 |====================== EPYC 7601: Minimal AMD Retpoline .............. 1084.43 |====================== EPYC 7601: Minimal Generic Retpoline .......... 1062.75 |===================== Threadripper 1950X: No Retpoline .............. 816.63 |================ Threadripper 1950X: Minimal AMD Retpoline ..... 816.69 |================ Threadripper 1950X: Minimal Generic Retpoline . 771.20 |================ Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better EPYC 7601: No Retpoline ....................... 279115 |======================= EPYC 7601: Minimal AMD Retpoline .............. 277601 |======================= EPYC 7601: Minimal Generic Retpoline .......... 272021 |====================== Threadripper 1950X: No Retpoline .............. 204155 |================= Threadripper 1950X: Minimal AMD Retpoline ..... 204169 |================= Threadripper 1950X: Minimal Generic Retpoline . 192796 |================ FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better EPYC 7601: No Retpoline ....................... 898.23 |====================== EPYC 7601: Minimal AMD Retpoline .............. 896.40 |====================== EPYC 7601: Minimal Generic Retpoline .......... 930.00 |======================= Threadripper 1950X: No Retpoline .............. 412.45 |========== Threadripper 1950X: Minimal AMD Retpoline ..... 474.08 |============ Threadripper 1950X: Minimal Generic Retpoline . 445.67 |=========== FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better EPYC 7601: No Retpoline ....................... 905.70 |====================== EPYC 7601: Minimal AMD Retpoline .............. 897.90 |====================== EPYC 7601: Minimal Generic Retpoline .......... 933.90 |======================= Threadripper 1950X: No Retpoline .............. 571.62 |============== Threadripper 1950X: Minimal AMD Retpoline ..... 538.47 |============= Threadripper 1950X: Minimal Generic Retpoline . 353.17 |========= Compile Bench 0.6 Test: Compile MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1787.04 |====================== EPYC 7601: Minimal AMD Retpoline .............. 1788.41 |====================== EPYC 7601: Minimal Generic Retpoline .......... 1781.16 |====================== Threadripper 1950X: No Retpoline .............. 1205.38 |=============== Threadripper 1950X: Minimal AMD Retpoline ..... 1339.97 |================ Threadripper 1950X: Minimal Generic Retpoline . 1162.66 |============== Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 410.31 |=================== EPYC 7601: Minimal AMD Retpoline .............. 408.40 |=================== EPYC 7601: Minimal Generic Retpoline .......... 404.64 |=================== Threadripper 1950X: No Retpoline .............. 498.13 |======================= Threadripper 1950X: Minimal AMD Retpoline ..... 491.91 |======================= Threadripper 1950X: Minimal Generic Retpoline . 492.99 |======================= Compile Bench 0.6 Test: Read Compiled Tree MB/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1363.13 |====================== EPYC 7601: Minimal AMD Retpoline .............. 1345.39 |====================== EPYC 7601: Minimal Generic Retpoline .......... 1349.82 |====================== Threadripper 1950X: No Retpoline .............. 1220.38 |==================== Threadripper 1950X: Minimal AMD Retpoline ..... 1201.50 |=================== Threadripper 1950X: Minimal Generic Retpoline . 1170.24 |=================== PostMark 1.51 Disk Transaction Performance TPS > Higher Is Better EPYC 7601: No Retpoline ....................... 5906 |===================== EPYC 7601: Minimal AMD Retpoline .............. 5906 |===================== EPYC 7601: Minimal Generic Retpoline .......... 5906 |===================== Threadripper 1950X: No Retpoline .............. 7076 |========================= Threadripper 1950X: Minimal AMD Retpoline ..... 6944 |========================= Threadripper 1950X: Minimal Generic Retpoline . 7076 |========================= GNU MPC 1.1.0 Multi-Precision Benchmark Global Score > Higher Is Better EPYC 7601: No Retpoline ....................... 6160 |==================== EPYC 7601: Minimal AMD Retpoline .............. 6093 |==================== EPYC 7601: Minimal Generic Retpoline .......... 6110 |==================== Threadripper 1950X: No Retpoline .............. 7610 |========================= Threadripper 1950X: Minimal AMD Retpoline ..... 7603 |========================= Threadripper 1950X: Minimal Generic Retpoline . 7627 |========================= ebizzy 0.3 Records/s > Higher Is Better EPYC 7601: No Retpoline ....................... 1173956 |====================== EPYC 7601: Minimal AMD Retpoline .............. 1150056 |====================== EPYC 7601: Minimal Generic Retpoline .......... 1140919 |===================== Threadripper 1950X: No Retpoline .............. 883044 |================= Threadripper 1950X: Minimal AMD Retpoline ..... 894162 |================= Threadripper 1950X: Minimal Generic Retpoline . 874715 |================ Timed Linux Kernel Compilation 4.13 Time To Compile Seconds < Lower Is Better EPYC 7601: No Retpoline ....................... 36.83 |=================== EPYC 7601: Minimal AMD Retpoline .............. 36.47 |================== EPYC 7601: Minimal Generic Retpoline .......... 36.71 |=================== Threadripper 1950X: No Retpoline .............. 47.32 |======================== Threadripper 1950X: Minimal AMD Retpoline ..... 47.07 |======================== Threadripper 1950X: Minimal Generic Retpoline . 47.28 |======================== Hackbench Count: 4 - Type: Process Seconds < Lower Is Better EPYC 7601: No Retpoline ....................... 7.28 |======================= EPYC 7601: Minimal AMD Retpoline .............. 7.17 |====================== EPYC 7601: Minimal Generic Retpoline .......... 7.41 |======================= Threadripper 1950X: No Retpoline .............. 6.50 |==================== Threadripper 1950X: Minimal AMD Retpoline ..... 8.04 |========================= Threadripper 1950X: Minimal Generic Retpoline . 7.67 |======================== Hackbench Count: 16 - Type: Process Seconds < Lower Is Better EPYC 7601: No Retpoline ....................... 24.34 |======================= EPYC 7601: Minimal AMD Retpoline .............. 24.26 |======================= EPYC 7601: Minimal Generic Retpoline .......... 25.00 |======================== Threadripper 1950X: No Retpoline .............. 22.55 |====================== Threadripper 1950X: Minimal AMD Retpoline ..... 21.61 |===================== Threadripper 1950X: Minimal Generic Retpoline . 24.12 |======================= Systemd Total Boot Time Test: Total ms < Lower Is Better EPYC 7601: No Retpoline ....................... 52530 |======================== EPYC 7601: Minimal AMD Retpoline .............. 52650 |======================== EPYC 7601: Minimal Generic Retpoline .......... 52690 |======================== Threadripper 1950X: No Retpoline .............. 30089 |============== Threadripper 1950X: Minimal AMD Retpoline ..... 30825 |============== Threadripper 1950X: Minimal Generic Retpoline . 28925 |============= Systemd Total Boot Time Test: Kernel ms < Lower Is Better EPYC 7601: No Retpoline ....................... 1480 |=========== EPYC 7601: Minimal AMD Retpoline .............. 1470 |=========== EPYC 7601: Minimal Generic Retpoline .......... 1470 |=========== Threadripper 1950X: No Retpoline .............. 3408 |========================= Threadripper 1950X: Minimal AMD Retpoline ..... 3397 |========================= Threadripper 1950X: Minimal Generic Retpoline . 3439 |========================= Systemd Total Boot Time Test: Userspace ms < Lower Is Better EPYC 7601: No Retpoline ....................... 82 | EPYC 7601: Minimal AMD Retpoline .............. 77 | EPYC 7601: Minimal Generic Retpoline .......... 77 | Threadripper 1950X: No Retpoline .............. 6655 |====================== Threadripper 1950X: Minimal AMD Retpoline ..... 7518 |========================= Threadripper 1950X: Minimal Generic Retpoline . 5568 |=================== Redis 3.0.1 Test: LPOP Requests Per Second > Higher Is Better EPYC 7601: No Retpoline ....................... 1713804.33 |=============== EPYC 7601: Minimal AMD Retpoline .............. 1579265.77 |============== EPYC 7601: Minimal Generic Retpoline .......... 1392370.22 |============ Threadripper 1950X: No Retpoline .............. 2119687.54 |=================== Threadripper 1950X: Minimal AMD Retpoline ..... 1741614.58 |================ Threadripper 1950X: Minimal Generic Retpoline . 2031671.21 |================== Redis 3.0.1 Test: SADD Requests Per Second > Higher Is Better EPYC 7601: No Retpoline ....................... 1380302.48 |=============== EPYC 7601: Minimal AMD Retpoline .............. 1350592.25 |=============== EPYC 7601: Minimal Generic Retpoline .......... 1335992.07 |=============== Threadripper 1950X: No Retpoline .............. 1660480.92 |================== Threadripper 1950X: Minimal AMD Retpoline ..... 1707168.79 |=================== Threadripper 1950X: Minimal Generic Retpoline . 1658604.13 |================== Redis 3.0.1 Test: LPUSH Requests Per Second > Higher Is Better EPYC 7601: No Retpoline ....................... 1301242.00 |================ EPYC 7601: Minimal AMD Retpoline .............. 1276214.20 |================ EPYC 7601: Minimal Generic Retpoline .......... 1226066.38 |=============== Threadripper 1950X: No Retpoline .............. 1526102.13 |=================== Threadripper 1950X: Minimal AMD Retpoline ..... 1552225.71 |=================== Threadripper 1950X: Minimal Generic Retpoline . 1560696.17 |=================== Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better EPYC 7601: No Retpoline ....................... 1711091.35 |=============== EPYC 7601: Minimal AMD Retpoline .............. 1674545.65 |=============== EPYC 7601: Minimal Generic Retpoline .......... 1513383.54 |============== Threadripper 1950X: No Retpoline .............. 2116850.81 |=================== Threadripper 1950X: Minimal AMD Retpoline ..... 1957205.30 |================== Threadripper 1950X: Minimal Generic Retpoline . 1966506.92 |================== Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better EPYC 7601: No Retpoline ....................... 1231749.78 |============== EPYC 7601: Minimal AMD Retpoline .............. 1293339.79 |=============== EPYC 7601: Minimal Generic Retpoline .......... 1226139.95 |============== Threadripper 1950X: No Retpoline .............. 1557377.69 |================== Threadripper 1950X: Minimal AMD Retpoline ..... 1525505.25 |================== Threadripper 1950X: Minimal Generic Retpoline . 1627502.14 |=================== Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better EPYC 7601: No Retpoline .............. 21684.03 |============================== EPYC 7601: Minimal AMD Retpoline ..... 21313.45 |============================= EPYC 7601: Minimal Generic Retpoline . 21342.76 |==============================