KPTI + Retpoline Ubuntu Linux Benchmarks Comparison

Tests by Michael Larabel.

HTML result view exported from: https://openbenchmarking.org/result/1801096-FO-KPTIRETPO87&sro.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerOpenGLCompilerFile-SystemScreen ResolutionDisplay DriverLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + Retpoline i9-7980XE i9-7980XE E3-1280 v5 E3-1280 v5 i7-6800K i7-6800KIntel Core i9-7980XE @ 4.40GHz (18 Cores / 36 Threads)ASUS PRIME X299-AIntel Device 202016384MB120GB Force MP500NV137 2048MBRealtek ALC1220Acer B286HKIntel ConnectionUbuntu 17.104.14.0-041400-generic (x86_64)GNOME Shell 3.26.1Wayland4.3 Mesa 17.2.2GCC 7.2.0ext43840x21604.14.0-phx-retpoline-gcc-retpo (x86_64)Intel Xeon E3-1280 v5 @ 4.00GHz (4 Cores / 8 Threads)MSI C236A WORKSTATION (MS-7998) v1.0Intel Skylake256GB TOSHIBA-RD400Sapphire AMD Radeon 4096MBRealtek ALC1150ASUS PB2784.14.0-041400-generic (x86_64)GNOME Shell 3.26.2modesetting 1.19.54.5 Mesa 17.4.0-devel- padoka PPA (LLVM 6.0.0)2560x14404.14.0-phx-retpoline-gcc-retpo (x86_64)4.5 Mesa 17.4.0-devel- padoka PPA ()Intel Core i7-6800K @ 3.80GHz (6 Cores / 12 Threads)MSI X99A WORKSTATION (MS-7A54) v1.0Intel Xeon E7 v4/Xeon2 x 120GB TOSHIBA-TR150NV120 12288MB4.14.0-041400-generic (x86_64)GNOME Shell 3.26.1Wayland4.3 Mesa 17.2.24.14.0-phx-retpoline-gcc-retpo (x86_64)OpenBenchmarking.orgEnvironment Details- GJS_DEBUG_TOPICS=JS ERROR;JS LOG GJS_DEBUG_OUTPUT=stderrCompiler Details- --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v Disk Details- Linux 4.14.0 Stock: i9-7980XE: NONE / data=ordered,errors=remount-ro,relatime,rw- KPTI + Retpoline: i9-7980XE: NONE / data=ordered,errors=remount-ro,relatime,rw- Linux 4.14.0 Stock: E3-1280 v5: NONE / data=ordered,errors=remount-ro,relatime,rw- KPTI + Retpoline: E3-1280 v5: NONE / data=ordered,errors=remount-ro,relatime,rw- Linux 4.14.0 Stock: i7-6800K: CFQ / data=ordered,errors=remount-ro,relatime,rw- KPTI + Retpoline: i7-6800K: CFQ / data=ordered,errors=remount-ro,relatime,rwProcessor Details- Scaling Governor: intel_pstate powersaveSystem Details- Python 2.7.14.

fio: Rand Write - Libaio - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizecompilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treebuild-gcc: Time To Compilebuild-linux-kernel: Time To Compilepgbench: Buffer Test - Normal Load - Read Writeredis: LPOPredis: SADDredis: LPUSHredis: GETredis: SETnginx: Static Web Page Servingapache: Static Web Page ServingLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + Retpoline i9-7980XE i9-7980XE E3-1280 v5 E3-1280 v5 i7-6800K i7-6800K753.24726.28224.93673.93366.081728.79768.953341.51761.8337.957756.952114991.472334920.582227561.192722404.672229753.7954668.1251621.45684.15687.38185.13500.60264.501617.36652.252901.76817.0939.236594.401876687.362162591.791920204.672428046.712005842.4842867.7035205.88663.83730.5499.97111.4759.401025.74564.613554.881069.58129.072251.693174795.252445696.922044989.172882051.002109357.2739061.2232278.00560.53728.6068.1083.8756.73890.30502.702940.481095.89131.392231.112198334.672212974.501809081.162553195.251919907.8329838.3525399.47287.04431.8161.4351.7342.63673.16437.862873.761043.4498.922487.202736121.252153727.131927479.212436558.691986985.0844577.6639258.7475.00432.2247.9350.1342.63625.73341.722462.601067.35100.282515.032157675.111997466.831749531.252276820.751790310.7832738.3929046.81OpenBenchmarking.org

Flexible IO Tester

Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryE3-1280 v5i7-6800Ki9-7980XE160320480640800SE +/- 18.60, N = 6SE +/- 1.29, N = 3SE +/- 31.19, N = 6SE +/- 9.60, N = 3SE +/- 0.99, N = 3SE +/- 11.12, N = 4560.5375.00684.15663.83287.04753.241. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryE3-1280 v5i7-6800Ki9-7980XE40K80K120K160K200KSE +/- 4650.61, N = 6SE +/- 323.27, N = 3SE +/- 7798.31, N = 6SE +/- 2398.77, N = 3SE +/- 247.77, N = 3SE +/- 2780.12, N = 414012818747171034165953717571883061. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryE3-1280 v5i7-6800Ki9-7980XE160320480640800SE +/- 7.98, N = 3SE +/- 0.25, N = 3SE +/- 1.48, N = 3SE +/- 12.55, N = 3SE +/- 0.72, N = 3SE +/- 5.92, N = 3728.60432.22687.38730.54431.81726.281. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryE3-1280 v5i7-6800Ki9-7980XE40K80K120K160K200KSE +/- 1994.25, N = 3SE +/- 63.34, N = 3SE +/- 370.79, N = 3SE +/- 3136.58, N = 3SE +/- 178.98, N = 3SE +/- 1480.84, N = 31821471080501718411826311079481815661. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeE3-1280 v5i7-6800Ki9-7980XE50100150200250SE +/- 3.63, N = 6SE +/- 3.52, N = 6SE +/- 2.54, N = 3SE +/- 2.85, N = 6SE +/- 12.52, N = 6SE +/- 12.40, N = 668.1047.93185.1399.9761.43224.931. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsE3-1280 v5i7-6800Ki9-7980XE150300450600750SE +/- 1.24, N = 6SE +/- 0.27, N = 3SE +/- 62.72, N = 6SE +/- 14.86, N = 6SE +/- 0.35, N = 3SE +/- 53.36, N = 683.8750.13500.60111.4751.73673.931. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeE3-1280 v5i7-6800Ki9-7980XE80160240320400SE +/- 0.68, N = 3SE +/- 0.75, N = 3SE +/- 4.67, N = 6SE +/- 0.83, N = 5SE +/- 0.62, N = 6SE +/- 6.11, N = 456.7342.63264.5059.4042.63366.081. (CC) gcc options: -static

Compile Bench

Test: Compile

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileE3-1280 v5i7-6800Ki9-7980XE400800120016002000SE +/- 31.82, N = 6SE +/- 31.93, N = 6SE +/- 23.74, N = 3SE +/- 33.40, N = 6SE +/- 36.31, N = 6SE +/- 20.69, N = 3890.30625.731617.361025.74673.161728.79

Compile Bench

Test: Initial Create

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateE3-1280 v5i7-6800Ki9-7980XE170340510680850SE +/- 16.09, N = 3SE +/- 17.75, N = 3SE +/- 15.02, N = 3SE +/- 13.54, N = 3SE +/- 57.83, N = 3SE +/- 12.77, N = 3502.70341.72652.25564.61437.86768.95

Compile Bench

Test: Read Compiled Tree

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeE3-1280 v5i7-6800Ki9-7980XE8001600240032004000SE +/- 24.97, N = 3SE +/- 8.43, N = 3SE +/- 62.38, N = 3SE +/- 38.73, N = 3SE +/- 32.02, N = 3SE +/- 75.95, N = 32940.482462.602901.763554.882873.763341.51

Timed GCC Compilation

Time To Compile

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 7.2Time To CompileE3-1280 v5i7-6800Ki9-7980XE2004006008001000SE +/- 0.29, N = 3SE +/- 5.19, N = 3SE +/- 2.40, N = 3SE +/- 2.02, N = 3SE +/- 4.41, N = 3SE +/- 2.09, N = 31095.891067.35817.091069.581043.44761.83

Timed Linux Kernel Compilation

Time To Compile

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.13Time To CompileE3-1280 v5i7-6800Ki9-7980XE306090120150SE +/- 0.94, N = 3SE +/- 1.40, N = 3SE +/- 0.59, N = 6SE +/- 0.94, N = 3SE +/- 0.82, N = 3SE +/- 0.59, N = 6131.39100.2839.23129.0798.9237.95

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteE3-1280 v5i7-6800Ki9-7980XE17003400510068008500SE +/- 12.11, N = 3SE +/- 109.80, N = 6SE +/- 15.24, N = 3SE +/- 595.12, N = 62231.112515.036594.402251.692487.207756.951. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -fPIC -lpgcommon -lpgport -lpthread -lrt -lcrypt -ldl -lm

Redis

Test: LPOP

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPOPE3-1280 v5i7-6800Ki9-7980XE700K1400K2100K2800K3500KSE +/- 24068.05, N = 3SE +/- 140310.61, N = 6SE +/- 269003.08, N = 6SE +/- 17457.60, N = 3SE +/- 43737.19, N = 3SE +/- 316898.84, N = 62198334.672157675.111876687.363174795.252736121.252114991.471. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: SADD

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SADDE3-1280 v5i7-6800Ki9-7980XE500K1000K1500K2000K2500KSE +/- 25445.22, N = 3SE +/- 11424.47, N = 3SE +/- 42952.11, N = 6SE +/- 29396.74, N = 3SE +/- 41887.25, N = 3SE +/- 65858.31, N = 62212974.501997466.832162591.792445696.922153727.132334920.581. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: LPUSH

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPUSHE3-1280 v5i7-6800Ki9-7980XE500K1000K1500K2000K2500KSE +/- 26097.14, N = 3SE +/- 15140.06, N = 3SE +/- 27558.02, N = 6SE +/- 37986.60, N = 3SE +/- 25747.66, N = 3SE +/- 55151.41, N = 61809081.161749531.251920204.672044989.171927479.212227561.191. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: GET

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETE3-1280 v5i7-6800Ki9-7980XE600K1200K1800K2400K3000KSE +/- 2174.75, N = 3SE +/- 27034.12, N = 3SE +/- 77877.56, N = 6SE +/- 17221.38, N = 3SE +/- 102786.69, N = 6SE +/- 91567.19, N = 62553195.252276820.752428046.712882051.002436558.692722404.671. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: SET

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETE3-1280 v5i7-6800Ki9-7980XE500K1000K1500K2000K2500KSE +/- 22355.81, N = 3SE +/- 28769.97, N = 4SE +/- 26640.15, N = 6SE +/- 40430.85, N = 6SE +/- 15063.42, N = 3SE +/- 47497.72, N = 61919907.831790310.782005842.482109357.271986985.082229753.791. (CC) gcc options: -ggdb -rdynamic -lm -pthread

NGINX Benchmark

Static Web Page Serving

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterNGINX Benchmark 1.9.9Static Web Page ServingE3-1280 v5i7-6800Ki9-7980XE12K24K36K48K60KSE +/- 85.74, N = 3SE +/- 158.01, N = 3SE +/- 653.05, N = 3SE +/- 149.45, N = 3SE +/- 187.32, N = 3SE +/- 66.93, N = 329838.3532738.3942867.7039061.2244577.6654668.121. (CC) gcc options: -lpthread -lcrypt -lz -O3 -march=native

Apache Benchmark

Static Web Page Serving

KPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingE3-1280 v5i7-6800Ki9-7980XE11K22K33K44K55KSE +/- 24.35, N = 3SE +/- 49.82, N = 3SE +/- 684.78, N = 3SE +/- 56.03, N = 3SE +/- 79.64, N = 3SE +/- 1205.80, N = 625399.4729046.8135205.8832278.0039258.7451621.451. (CC) gcc options: -shared -fPIC -O2 -pthread


Phoronix Test Suite v10.8.4