KPTI + Retpoline Ubuntu Linux Benchmarks Comparison

Tests by Michael Larabel.

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

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerOpenGLCompilerFile-SystemScreen ResolutionDisplay DriverLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + RetpolineKPTI + Retpo + New ucode i9-7980XE i9-7980XE E3-1280 v5 E3-1280 v5 i7-6800K i7-6800K i9-7980XEIntel 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)Intel Core i9-7980XE @ 4.40GHz (18 Cores / 36 Threads)ASUS PRIME X299-A (BIOS: 0802)Intel Device 2020120GB Force MP500NV137 2048MBRealtek ALC1220Acer B286HK3840x2160OpenBenchmarking.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,rw- KPTI + Retpo + New ucode: i9-7980XE: NONE / data=ordered,errors=remount-ro,relatime,rwProcessor Details- Scaling Governor: intel_pstate powersaveSystem Details- Python 2.7.14.

fs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizepgbench: Buffer Test - Normal Load - Read Writebuild-linux-kernel: Time To Compileapache: Static Web Page Servingnginx: Static Web Page Servingfio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directorycompilebench: Read Compiled Treebuild-gcc: Time To Compileredis: LPUSHredis: SETredis: SADDredis: GETredis: LPOPcompilebench: Initial Createcompilebench: Compilefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 1000 Files, 1MB Sizefio: Rand Write - Libaio - No - Yes - 4KB - Default Test DirectoryLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + RetpolineLinux 4.14.0 StockKPTI + RetpolineKPTI + Retpo + New ucode i9-7980XE i9-7980XE E3-1280 v5 E3-1280 v5 i7-6800K i7-6800K i9-7980XE366.087756.9537.9551621.4554668.12726.283341.51761.832227561.192229753.792334920.582722404.672114991.47768.951728.79673.93224.93753.24264.506594.4039.2335205.8842867.70687.382901.76817.091920204.672005842.482162591.792428046.711876687.36652.251617.36500.60185.13684.1559.402251.69129.0732278.0039061.22730.543554.881069.582044989.172109357.272445696.922882051.003174795.25564.611025.74111.4799.97663.8356.732231.11131.3925399.4729838.35728.602940.481095.891809081.161919907.832212974.502553195.252198334.67502.70890.3083.8768.10560.5342.632487.2098.9239258.7444577.66431.812873.761043.441927479.211986985.082153727.132436558.692736121.25437.86673.1651.7361.43287.0442.632515.03100.2829046.8132738.39432.222462.601067.351749531.251790310.781997466.832276820.752157675.11341.72625.7350.1347.9375.00332.4515067.0039.0735704.5743395.84696.152940.08824.221907426.042021055.252164885.692529291.132571985.21619.261610.15495.53191.47522.29OpenBenchmarking.org

FS-Mark

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

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB Sizei9-7980XEE3-1280 v5i7-6800K80160240320400SE +/- 9.79, N = 6SE +/- 0.68, N = 3SE +/- 0.75, N = 3SE +/- 4.67, N = 6SE +/- 0.83, N = 5SE +/- 0.62, N = 6SE +/- 6.11, N = 4332.4556.7342.63264.5059.4042.63366.081. (CC) gcc options: -static

PostgreSQL pgbench

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

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

Timed Linux Kernel Compilation

Time To Compile

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.13Time To Compilei9-7980XEE3-1280 v5i7-6800K306090120150SE +/- 0.90, N = 6SE +/- 0.94, N = 3SE +/- 1.40, N = 3SE +/- 0.59, N = 6SE +/- 0.94, N = 3SE +/- 0.82, N = 3SE +/- 0.59, N = 639.07131.39100.2839.23129.0798.9237.95

Apache Benchmark

Static Web Page Serving

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page Servingi9-7980XEE3-1280 v5i7-6800K11K22K33K44K55KSE +/- 557.43, N = 5SE +/- 24.35, N = 3SE +/- 49.82, N = 3SE +/- 684.78, N = 3SE +/- 56.03, N = 3SE +/- 79.64, N = 3SE +/- 1205.80, N = 635704.5725399.4729046.8135205.8832278.0039258.7451621.451. (CC) gcc options: -shared -fPIC -O2 -pthread

NGINX Benchmark

Static Web Page Serving

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterNGINX Benchmark 1.9.9Static Web Page Servingi9-7980XEE3-1280 v5i7-6800K12K24K36K48K60KSE +/- 603.07, N = 3SE +/- 85.74, N = 3SE +/- 158.01, N = 3SE +/- 653.05, N = 3SE +/- 149.45, N = 3SE +/- 187.32, N = 3SE +/- 66.93, N = 343395.8429838.3532738.3942867.7039061.2244577.6654668.121. (CC) gcc options: -lpthread -lcrypt -lz -O3 -march=native

Flexible IO Tester

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

KPTI + Retpo + New ucodeKPTI + 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 Directoryi9-7980XEE3-1280 v5i7-6800K40K80K120K160K200KSE +/- 667.72, N = 3SE +/- 1994.25, N = 3SE +/- 63.34, N = 3SE +/- 370.79, N = 3SE +/- 3136.58, N = 3SE +/- 178.98, N = 3SE +/- 1480.84, N = 31740341821471080501718411826311079481815661. (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 + Retpo + New ucodeKPTI + 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 Directoryi9-7980XEE3-1280 v5i7-6800K160320480640800SE +/- 2.67, N = 3SE +/- 7.98, N = 3SE +/- 0.25, N = 3SE +/- 1.48, N = 3SE +/- 12.55, N = 3SE +/- 0.72, N = 3SE +/- 5.92, N = 3696.15728.60432.22687.38730.54431.81726.281. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Compile Bench

Test: Read Compiled Tree

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled Treei9-7980XEE3-1280 v5i7-6800K8001600240032004000SE +/- 87.31, N = 3SE +/- 24.97, N = 3SE +/- 8.43, N = 3SE +/- 62.38, N = 3SE +/- 38.73, N = 3SE +/- 32.02, N = 3SE +/- 75.95, N = 32940.082940.482462.602901.763554.882873.763341.51

Timed GCC Compilation

Time To Compile

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 7.2Time To Compilei9-7980XEE3-1280 v5i7-6800K2004006008001000SE +/- 3.05, N = 3SE +/- 0.29, N = 3SE +/- 5.19, N = 3SE +/- 2.40, N = 3SE +/- 2.02, N = 3SE +/- 4.41, N = 3SE +/- 2.09, N = 3824.221095.891067.35817.091069.581043.44761.83

Redis

Test: LPUSH

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPUSHi9-7980XEE3-1280 v5i7-6800K500K1000K1500K2000K2500KSE +/- 37505.37, N = 3SE +/- 26097.14, N = 3SE +/- 15140.06, N = 3SE +/- 27558.02, N = 6SE +/- 37986.60, N = 3SE +/- 25747.66, N = 3SE +/- 55151.41, N = 61907426.041809081.161749531.251920204.672044989.171927479.212227561.191. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: SET

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETi9-7980XEE3-1280 v5i7-6800K500K1000K1500K2000K2500KSE +/- 44344.80, N = 6SE +/- 22355.81, N = 3SE +/- 28769.97, N = 4SE +/- 26640.15, N = 6SE +/- 40430.85, N = 6SE +/- 15063.42, N = 3SE +/- 47497.72, N = 62021055.251919907.831790310.782005842.482109357.271986985.082229753.791. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: SADD

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SADDi9-7980XEE3-1280 v5i7-6800K500K1000K1500K2000K2500KSE +/- 71963.14, N = 6SE +/- 25445.22, N = 3SE +/- 11424.47, N = 3SE +/- 42952.11, N = 6SE +/- 29396.74, N = 3SE +/- 41887.25, N = 3SE +/- 65858.31, N = 62164885.692212974.501997466.832162591.792445696.922153727.132334920.581. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: GET

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETi9-7980XEE3-1280 v5i7-6800K600K1200K1800K2400K3000KSE +/- 93697.80, N = 6SE +/- 2174.75, N = 3SE +/- 27034.12, N = 3SE +/- 77877.56, N = 6SE +/- 17221.38, N = 3SE +/- 102786.69, N = 6SE +/- 91567.19, N = 62529291.132553195.252276820.752428046.712882051.002436558.692722404.671. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: LPOP

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPOPi9-7980XEE3-1280 v5i7-6800K700K1400K2100K2800K3500KSE +/- 79525.03, N = 6SE +/- 24068.05, N = 3SE +/- 140310.61, N = 6SE +/- 269003.08, N = 6SE +/- 17457.60, N = 3SE +/- 43737.19, N = 3SE +/- 316898.84, N = 62571985.212198334.672157675.111876687.363174795.252736121.252114991.471. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Compile Bench

Test: Initial Create

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial Createi9-7980XEE3-1280 v5i7-6800K170340510680850SE +/- 38.63, N = 3SE +/- 16.09, N = 3SE +/- 17.75, N = 3SE +/- 15.02, N = 3SE +/- 13.54, N = 3SE +/- 57.83, N = 3SE +/- 12.77, N = 3619.26502.70341.72652.25564.61437.86768.95

Compile Bench

Test: Compile

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Compilei9-7980XEE3-1280 v5i7-6800K400800120016002000SE +/- 70.45, N = 6SE +/- 31.82, N = 6SE +/- 31.93, N = 6SE +/- 23.74, N = 3SE +/- 33.40, N = 6SE +/- 36.31, N = 6SE +/- 20.69, N = 31610.15890.30625.731617.361025.74673.161728.79

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 Threadsi9-7980XEE3-1280 v5i7-6800K150300450600750SE +/- 78.20, N = 6SE +/- 1.24, N = 6SE +/- 0.27, N = 3SE +/- 62.72, N = 6SE +/- 14.86, N = 6SE +/- 0.35, N = 3SE +/- 53.36, N = 6495.5383.8750.13500.60111.4751.73673.931. (CC) gcc options: -static

FS-Mark

Test: 1000 Files, 1MB Size

KPTI + Retpo + New ucodeKPTI + RetpolineLinux 4.14.0 StockOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB Sizei9-7980XEE3-1280 v5i7-6800K50100150200250SE +/- 0.84, N = 3SE +/- 3.63, N = 6SE +/- 3.52, N = 6SE +/- 2.54, N = 3SE +/- 2.85, N = 6SE +/- 12.52, N = 6SE +/- 12.40, N = 6191.4768.1047.93185.1399.9761.43224.931. (CC) gcc options: -static

Flexible IO Tester

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

KPTI + Retpo + New ucodeKPTI + 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 Directoryi9-7980XEE3-1280 v5i7-6800K40K80K120K160K200KSE +/- 28210.99, N = 6SE +/- 4650.61, N = 6SE +/- 323.27, N = 3SE +/- 7798.31, N = 6SE +/- 2398.77, N = 3SE +/- 247.77, N = 3SE +/- 2780.12, N = 413057014012818747171034165953717571883061. (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 + Retpo + New ucodeKPTI + 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 Directoryi9-7980XEE3-1280 v5i7-6800K160320480640800SE +/- 112.84, N = 6SE +/- 18.60, N = 6SE +/- 1.29, N = 3SE +/- 31.19, N = 6SE +/- 9.60, N = 3SE +/- 0.99, N = 3SE +/- 11.12, N = 4522.29560.5375.00684.15663.83287.04753.241. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl


Phoronix Test Suite v10.8.4