KPTI + Retpoline Ubuntu Linux Benchmarks Comparison

Tests by Michael Larabel.

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

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.

compilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treefio: 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 Sizebuild-gcc: Time To Compilebuild-linux-kernel: Time To Compilenginx: Static Web Page Servingapache: Static Web Page Servingredis: LPOPredis: SADDredis: LPUSHredis: GETredis: SETpgbench: Buffer Test - Normal Load - Read WriteLinux 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-6800K1728.79768.953341.51753.24726.28224.93673.93366.08761.8337.9554668.1251621.452114991.472334920.582227561.192722404.672229753.797756.951617.36652.252901.76684.15687.38185.13500.60264.50817.0939.2342867.7035205.881876687.362162591.791920204.672428046.712005842.486594.401025.74564.613554.88663.83730.5499.97111.4759.401069.58129.0739061.2232278.003174795.252445696.922044989.172882051.002109357.272251.69890.30502.702940.48560.53728.6068.1083.8756.731095.89131.3929838.3525399.472198334.672212974.501809081.162553195.251919907.832231.11673.16437.862873.76287.04431.8161.4351.7342.631043.4498.9244577.6639258.742736121.252153727.131927479.212436558.691986985.082487.20625.73341.722462.6075.00432.2247.9350.1342.631067.35100.2832738.3929046.812157675.111997466.831749531.252276820.751790310.782515.03OpenBenchmarking.org

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 Treei9-7980XEE3-1280 v5i7-6800K8001600240032004000SE +/- 75.95, N = 3SE +/- 38.73, N = 3SE +/- 32.02, N = 3SE +/- 62.38, N = 3SE +/- 24.97, N = 3SE +/- 8.43, N = 33341.513554.882873.762901.762940.482462.60

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: 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 Directoryi9-7980XEE3-1280 v5i7-6800K160320480640800SE +/- 5.92, N = 3SE +/- 12.55, N = 3SE +/- 0.72, N = 3SE +/- 1.48, N = 3SE +/- 7.98, N = 3SE +/- 0.25, N = 3726.28730.54431.81687.38728.60432.221. (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

Timed GCC Compilation

Time To Compile

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

Timed Linux Kernel Compilation

Time To Compile

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.13Time To Compilei9-7980XEE3-1280 v5i7-6800K306090120150SE +/- 0.59, N = 6SE +/- 0.94, N = 3SE +/- 0.82, N = 3SE +/- 0.59, N = 6SE +/- 0.94, N = 3SE +/- 1.40, N = 337.95129.0798.9239.23131.39100.28

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-7980XEE3-1280 v5i7-6800K12K24K36K48K60KSE +/- 66.93, N = 3SE +/- 149.45, N = 3SE +/- 187.32, N = 3SE +/- 653.05, N = 3SE +/- 85.74, N = 3SE +/- 158.01, N = 354668.1239061.2244577.6642867.7029838.3532738.391. (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-7980XEE3-1280 v5i7-6800K11K22K33K44K55KSE +/- 1205.80, N = 6SE +/- 56.03, N = 3SE +/- 79.64, N = 3SE +/- 684.78, N = 3SE +/- 24.35, N = 3SE +/- 49.82, N = 351621.4532278.0039258.7435205.8825399.4729046.811. (CC) gcc options: -shared -fPIC -O2 -pthread

Redis

Test: LPOP

Linux 4.14.0 StockKPTI + RetpolineOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPOPi9-7980XEE3-1280 v5i7-6800K700K1400K2100K2800K3500KSE +/- 316898.84, N = 6SE +/- 17457.60, N = 3SE +/- 43737.19, N = 3SE +/- 269003.08, N = 6SE +/- 24068.05, N = 3SE +/- 140310.61, N = 62114991.473174795.252736121.251876687.362198334.672157675.111. (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: SADDi9-7980XEE3-1280 v5i7-6800K500K1000K1500K2000K2500KSE +/- 65858.31, N = 6SE +/- 29396.74, N = 3SE +/- 41887.25, N = 3SE +/- 42952.11, N = 6SE +/- 25445.22, N = 3SE +/- 11424.47, N = 32334920.582445696.922153727.132162591.792212974.501997466.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: GETi9-7980XEE3-1280 v5i7-6800K600K1200K1800K2400K3000KSE +/- 91567.19, N = 6SE +/- 17221.38, N = 3SE +/- 102786.69, N = 6SE +/- 77877.56, N = 6SE +/- 2174.75, N = 3SE +/- 27034.12, N = 32722404.672882051.002436558.692428046.712553195.252276820.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

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-7980XEE3-1280 v5i7-6800K17003400510068008500SE +/- 595.12, N = 6SE +/- 15.24, N = 3SE +/- 109.80, N = 6SE +/- 12.11, N = 37756.952251.692487.206594.402231.112515.031. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -fPIC -lpgcommon -lpgport -lpthread -lrt -lcrypt -ldl -lm

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.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 Directoryi9-7980XEE3-1280 v5i7-6800K40K80K120K160K200KSE +/- 1480.84, N = 3SE +/- 3136.58, N = 3SE +/- 178.98, N = 3SE +/- 370.79, N = 3SE +/- 1994.25, N = 3SE +/- 63.34, N = 31815661826311079481718411821471080501. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl


Phoronix Test Suite v10.8.5