KPTI + Retpoline Ubuntu Linux Benchmarks Comparison

Tests by Michael Larabel.

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

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

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.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 Directoryi9-7980XEE3-1280 v5i7-6800K160320480640800SE +/- 11.12, N = 4SE +/- 9.60, N = 3SE +/- 0.99, N = 3SE +/- 31.19, N = 6SE +/- 18.60, N = 6SE +/- 1.29, N = 3753.24663.83287.04684.15560.5375.001. (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

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.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 Directoryi9-7980XEE3-1280 v5i7-6800K40K80K120K160K200KSE +/- 2780.12, N = 4SE +/- 2398.77, N = 3SE +/- 247.77, N = 3SE +/- 7798.31, N = 6SE +/- 4650.61, N = 6SE +/- 323.27, N = 318830616595371757171034140128187471. (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

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.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 v5i9-7980XEi7-6800K160320480640800SE +/- 12.55, N = 3SE +/- 5.92, N = 3SE +/- 0.72, N = 3SE +/- 7.98, N = 3SE +/- 1.48, N = 3SE +/- 0.25, N = 3730.54726.28431.81728.60687.38432.221. (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

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.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 v5i9-7980XEi7-6800K40K80K120K160K200KSE +/- 3136.58, N = 3SE +/- 1480.84, N = 3SE +/- 178.98, N = 3SE +/- 1994.25, N = 3SE +/- 370.79, N = 3SE +/- 63.34, N = 31826311815661079481821471718411080501. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB Sizei9-7980XEE3-1280 v5i7-6800K50100150200250SE +/- 12.40, N = 6SE +/- 2.85, N = 6SE +/- 12.52, N = 6SE +/- 2.54, N = 3SE +/- 3.63, N = 6SE +/- 3.52, N = 6224.9399.9761.43185.1368.1047.931. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 Threadsi9-7980XEE3-1280 v5i7-6800K150300450600750SE +/- 53.36, N = 6SE +/- 14.86, N = 6SE +/- 0.35, N = 3SE +/- 62.72, N = 6SE +/- 1.24, N = 6SE +/- 0.27, N = 3673.93111.4751.73500.6083.8750.131. (CC) gcc options: -static

FS-Mark

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

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB Sizei9-7980XEE3-1280 v5i7-6800K80160240320400SE +/- 6.11, N = 4SE +/- 0.83, N = 5SE +/- 0.62, N = 6SE +/- 4.67, N = 6SE +/- 0.68, N = 3SE +/- 0.75, N = 3366.0859.4042.63264.5056.7342.631. (CC) gcc options: -static

Compile Bench

Test: Compile

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Compilei9-7980XEE3-1280 v5i7-6800K400800120016002000SE +/- 20.69, N = 3SE +/- 33.40, N = 6SE +/- 36.31, N = 6SE +/- 23.74, N = 3SE +/- 31.82, N = 6SE +/- 31.93, N = 61728.791025.74673.161617.36890.30625.73

Compile Bench

Test: Initial Create

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial Createi9-7980XEE3-1280 v5i7-6800K170340510680850SE +/- 12.77, N = 3SE +/- 13.54, N = 3SE +/- 57.83, N = 3SE +/- 15.02, N = 3SE +/- 16.09, N = 3SE +/- 17.75, N = 3768.95564.61437.86652.25502.70341.72

Compile Bench

Test: Read Compiled Tree

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeE3-1280 v5i9-7980XEi7-6800K8001600240032004000SE +/- 38.73, N = 3SE +/- 75.95, N = 3SE +/- 32.02, N = 3SE +/- 24.97, N = 3SE +/- 62.38, N = 3SE +/- 8.43, N = 33554.883341.512873.762940.482901.762462.60

Timed GCC Compilation

Time To Compile

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 7.2Time To Compilei9-7980XEi7-6800KE3-1280 v52004006008001000SE +/- 2.09, N = 3SE +/- 4.41, N = 3SE +/- 2.02, N = 3SE +/- 2.40, N = 3SE +/- 5.19, N = 3SE +/- 0.29, N = 3761.831043.441069.58817.091067.351095.89

Timed Linux Kernel Compilation

Time To Compile

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.13Time To Compilei9-7980XEi7-6800KE3-1280 v5306090120150SE +/- 0.59, N = 6SE +/- 0.82, N = 3SE +/- 0.94, N = 3SE +/- 0.59, N = 6SE +/- 1.40, N = 3SE +/- 0.94, N = 337.9598.92129.0739.23100.28131.39

PostgreSQL pgbench

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

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.0Scaling: Buffer Test - Test: Normal Load - Mode: Read Writei9-7980XEi7-6800KE3-1280 v517003400510068008500SE +/- 595.12, N = 6SE +/- 15.24, N = 3SE +/- 109.80, N = 6SE +/- 12.11, N = 37756.952487.202251.696594.402515.032231.111. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -fPIC -lpgcommon -lpgport -lpthread -lrt -lcrypt -ldl -lm

Redis

Test: LPOP

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

Redis

Test: SADD

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SADDE3-1280 v5i9-7980XEi7-6800K500K1000K1500K2000K2500KSE +/- 29396.74, N = 3SE +/- 65858.31, N = 6SE +/- 41887.25, N = 3SE +/- 25445.22, N = 3SE +/- 42952.11, N = 6SE +/- 11424.47, N = 32445696.922334920.582153727.132212974.502162591.791997466.831. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: LPUSH

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPUSHi9-7980XEE3-1280 v5i7-6800K500K1000K1500K2000K2500KSE +/- 55151.41, N = 6SE +/- 37986.60, N = 3SE +/- 25747.66, N = 3SE +/- 27558.02, N = 6SE +/- 26097.14, N = 3SE +/- 15140.06, N = 32227561.192044989.171927479.211920204.671809081.161749531.251. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: GET

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETE3-1280 v5i9-7980XEi7-6800K600K1200K1800K2400K3000KSE +/- 17221.38, N = 3SE +/- 91567.19, N = 6SE +/- 102786.69, N = 6SE +/- 2174.75, N = 3SE +/- 77877.56, N = 6SE +/- 27034.12, N = 32882051.002722404.672436558.692553195.252428046.712276820.751. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: SET

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETi9-7980XEE3-1280 v5i7-6800K500K1000K1500K2000K2500KSE +/- 47497.72, N = 6SE +/- 40430.85, N = 6SE +/- 15063.42, N = 3SE +/- 26640.15, N = 6SE +/- 22355.81, N = 3SE +/- 28769.97, N = 42229753.792109357.271986985.082005842.481919907.831790310.781. (CC) gcc options: -ggdb -rdynamic -lm -pthread

NGINX Benchmark

Static Web Page Serving

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterNGINX Benchmark 1.9.9Static Web Page Servingi9-7980XEi7-6800KE3-1280 v512K24K36K48K60KSE +/- 66.93, N = 3SE +/- 187.32, N = 3SE +/- 149.45, N = 3SE +/- 653.05, N = 3SE +/- 158.01, N = 3SE +/- 85.74, N = 354668.1244577.6639061.2242867.7032738.3929838.351. (CC) gcc options: -lpthread -lcrypt -lz -O3 -march=native

Apache Benchmark

Static Web Page Serving

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page Servingi9-7980XEi7-6800KE3-1280 v511K22K33K44K55KSE +/- 1205.80, N = 6SE +/- 79.64, N = 3SE +/- 56.03, N = 3SE +/- 684.78, N = 3SE +/- 49.82, N = 3SE +/- 24.35, N = 351621.4539258.7432278.0035205.8829046.8125399.471. (CC) gcc options: -shared -fPIC -O2 -pthread


Phoronix Test Suite v10.8.5