Windows vs. Linux Spectre Meltdown Mitigation Tests

Tests by Michael Larabel for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1803237-FO-MITIGATIO82.

ProcessorMotherboardMemoryDiskGraphicsNetworkChipsetAudioMonitorOSKernelDisplay DriverVulkanCompilerFile-SystemScreen ResolutionDesktopOpenGLWindows 10Ubuntu 18.04 Stock Disabled Stock DisabledIntel Core i7-8700K @ 3.70GHz (6 Cores / 12 Threads)ASUS PRIME Z370-A2 x 8192 MB 3000MHz Corsair CMU16GX4M2C3000C15238GB Samsung SSD 950 PRO 256GBIntel UHD 630 1024MBIntel Connection I219-VMicrosoft Windows 10 Pro Build 1629910.0 (x86_64)23.20.16.49741.0.65GCC 7.1.0NTFS3840x2160Intel Core i7-8700K @ 4.70GHz (6 Cores / 12 Threads)ASUS PRIME Z370-A (0607 BIOS)Intel Device 3ec215360MBSamsung SSD 950 PRO 256GBIntel HD 3072MB (1200MHz)Realtek ALC1220DELL P2415QIntel ConnectionUbuntu 18.044.15.0-12-generic (x86_64)GNOME Shell 3.28.0modesetting 1.19.64.5 Mesa 18.0.0-rc5GCC 7.3.0ext4OpenBenchmarking.orgPython Details- Windows 10: Stock, Windows 10: Disabled: Python 2.7.14Compiler Details- Ubuntu 18.04: Stock, Ubuntu 18.04: Disabled: --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- Ubuntu 18.04: Stock, Ubuntu 18.04: Disabled: NONE / data=ordered,errors=remount-ro,relatime,rwProcessor Details- Ubuntu 18.04: Stock, Ubuntu 18.04: Disabled: Scaling Governor: intel_pstate powersaveSecurity Details- Ubuntu 18.04: Stock: KPTI + __user pointer sanitization + Full generic retpoline Protection- Ubuntu 18.04: Disabled: __user pointer sanitization Protection

go-benchmark: httpgo-benchmark: buildblogbench: Readgit: Time To Complete Common Git Commandsosbench: Create Filesosbench: Create Threadsosbench: Launch Programsosbench: Memory Allocationsfio: Rand Read - AIO - No - Yes - 4KB - Default Test Directoryfio: Rand Write - AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Read - AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Write - AIO - No - Yes - 4KB - Default Test Directoryredis: SETpgbench: Mostly RAM - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Heavy Contention - Read OnlyWindows 10Ubuntu 18.04 Stock Disabled Stock Disabled686222335931467891511.95857.0826.31394123.3669.513382503372791194432.8860404.3280005.0377756.57550620652522333907611.37761.4518.36386218.3157.316373195895001297522.3875796.44105839.48102299.605078116837620954793634.6112.0510.4725.7562.0276919411068962438931.50123892.95180489.74174676.974836116168455156239834.519.688.1323.2559.02105318911049072610381.67140686.32200104.64194551.64OpenBenchmarking.org

Go Benchmarks

Test: http

Windows 10Ubuntu 18.04OpenBenchmarking.orgNanoseconds/Operation, Fewer Is BetterGo BenchmarksTest: httpStockDisabled15003000450060007500SE +/- 16.83, N = 3SE +/- 18.72, N = 3SE +/- 14.68, N = 3SE +/- 28.51, N = 36862550650784836

Go Benchmarks

Test: build

Windows 10Ubuntu 18.04OpenBenchmarking.orgNanoseconds/Operation, Fewer Is BetterGo BenchmarksTest: buildStockDisabled5000M10000M15000M20000M25000MSE +/- 419509881.54, N = 3SE +/- 319707906.70, N = 6SE +/- 97266493.71, N = 3SE +/- 104808891.53, N = 322335931467206525223331168376209511616845515

BlogBench

Test: Read

Windows 10Ubuntu 18.04OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadStockDisabled130K260K390K520K650KSE +/- 154.14, N = 6SE +/- 263.66, N = 6SE +/- 13718.63, N = 6SE +/- 33957.89, N = 6891590764793636239831. (CC) gcc options: -O2 -pthread

Git

Time To Complete Common Git Commands

Windows 10Ubuntu 18.04OpenBenchmarking.orgSeconds, Fewer Is BetterGitTime To Complete Common Git CommandsStockDisabled3691215SE +/- 0.21, N = 3SE +/- 0.20, N = 6SE +/- 0.05, N = 3SE +/- 0.01, N = 311.9511.374.614.511. git version 2.15.1

OSBench

Test: Create Files

Windows 10Ubuntu 18.04OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Create FilesStockDisabled2004006008001000SE +/- 4.67, N = 3SE +/- 1.97, N = 3SE +/- 0.02, N = 3SE +/- 0.06, N = 3857.08761.4512.059.681. (CC) gcc options: -lm

OSBench

Test: Create Threads

Windows 10Ubuntu 18.04OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Create ThreadsStockDisabled612182430SE +/- 0.05, N = 3SE +/- 0.06, N = 3SE +/- 0.21, N = 3SE +/- 0.09, N = 326.3118.3610.478.131. (CC) gcc options: -lm

OSBench

Test: Launch Programs

Windows 10Ubuntu 18.04OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Launch ProgramsStockDisabled80K160K240K320K400KSE +/- 1139.69, N = 3SE +/- 998.44, N = 3SE +/- 0.14, N = 3SE +/- 0.08, N = 3394123.36386218.3125.7523.251. (CC) gcc options: -lm

OSBench

Test: Memory Allocations

Windows 10Ubuntu 18.04OpenBenchmarking.orgNs Per Event, Fewer Is BetterOSBenchTest: Memory AllocationsStockDisabled1530456075SE +/- 0.42, N = 3SE +/- 0.24, N = 3SE +/- 0.14, N = 3SE +/- 0.17, N = 369.5157.3162.0259.021. (CC) gcc options: -lm

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled2004006008001000SE +/- 2.91, N = 3SE +/- 16.65, N = 6SE +/- 0.33, N = 333863710537691. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled60K120K180K240K300KSE +/- 731.06, N = 3SE +/- 4305.04, N = 6SE +/- 333.33, N = 3865671630002693331970001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled70140210280350SE +/- 2.73, N = 3SE +/- 2.19, N = 3SE +/- 3.71, N = 32503191891941. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled20K40K60K80K100KSE +/- 698.41, N = 3SE +/- 569.60, N = 3SE +/- 218.58, N = 3SE +/- 982.06, N = 3641678173348467495671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled2004006008001000SE +/- 12.54, N = 6SE +/- 2.08, N = 3SE +/- 0.58, N = 3337589110411061. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled60K120K180K240K300KSE +/- 3205.04, N = 6SE +/- 577.35, N = 3SE +/- 333.33, N = 3862831510002826672830001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled2004006008001000SE +/- 9.10, N = 6SE +/- 2.91, N = 3SE +/- 7.17, N = 32795009078961. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryStockDisabled50K100K150K200K250KSE +/- 1701.96, N = 6SE +/- 2329.76, N = 6SE +/- 881.92, N = 3SE +/- 1855.92, N = 3713001278332323332293331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Redis

Test: SET

Windows 10Ubuntu 18.04OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.2.1Test: SETStockDisabled600K1200K1800K2400K3000KSE +/- 8359.36, N = 3SE +/- 637.53, N = 3SE +/- 19289.40, N = 3SE +/- 11238.82, N = 31194432.881297522.382438931.502610381.671. (CC) gcc options: -ggdb -rdynamic -lm -pthread

PostgreSQL pgbench

Scaling: Mostly RAM - Test: Normal Load - Mode: Read Only

Windows 10Ubuntu 18.04OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Mostly RAM - Test: Normal Load - Mode: Read OnlyStockDisabled30K60K90K120K150KSE +/- 1954.61, N = 6SE +/- 588.15, N = 360404.3275796.44123892.95140686.321. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

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

Windows 10Ubuntu 18.04OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyStockDisabled40K80K120K160K200KSE +/- 68.69, N = 3SE +/- 337.23, N = 380005.03105839.48180489.74200104.641. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Only

Windows 10Ubuntu 18.04OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Heavy Contention - Mode: Read OnlyStockDisabled40K80K120K160K200KSE +/- 492.25, N = 3SE +/- 242.45, N = 377756.57102299.60174676.97194551.641. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm


Phoronix Test Suite v10.8.4