LVI Mitigations

Intel Xeon E3-1275 v6 testing with a ASUS P10S-M WS (4401 BIOS) and Intel HD P630 on Ubuntu 20.04 via the Phoronix Test Suite for a future article.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 2003126-NI-LVIMITIGA83
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
No LVI Mitigation
March 11 2020
  1 Hour, 38 Minutes
LFENCE Before Indirect Branch
March 12 2020
  1 Hour, 12 Minutes
LFENCE Before RET
March 12 2020
  1 Hour, 28 Minutes
LFENCE After Load
March 12 2020
  4 Hours, 36 Minutes
LFENCE Load + Indirect Branch + Ret
March 11 2020
  4 Hours, 40 Minutes
Invert Behavior (Only Show Selected Data)
  2 Hours, 43 Minutes

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


LVI MitigationsOpenBenchmarking.orgPhoronix Test SuiteIntel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads)ASUS P10S-M WS (4401 BIOS)Intel Xeon E3-1200 v6/7th16GBSamsung SSD 970 EVO Plus 500GBIntel HD P630 (1150MHz)Realtek ALC1150DELL S2409W2 x Intel I210Ubuntu 20.045.4.0-14-generic (x86_64)GNOME Shell 3.35.91X Server 1.20.7modesetting 1.20.7GCC 9.2.1 20200304ext41920x1080ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverCompilerFile-SystemScreen ResolutionLVI Mitigations PerformanceSystem Logs- No LVI Mitigation: CXXFLAGS=-O3 CFLAGS=-O3- LFENCE Before Indirect Branch: CXXFLAGS="-O3 -Wa,-mlfence-before-indirect-branch=all" CFLAGS="-O3 -Wa,-mlfence-before-indirect-branch=all" - LFENCE Before RET: CXXFLAGS="-O3 -Wa,-mlfence-before-ret=or" CFLAGS="-O3 -Wa,-mlfence-before-ret=or" - LFENCE After Load: CXXFLAGS="-O3 -Wa,-mlfence-after-load=yes" CFLAGS="-O3 -Wa,-mlfence-after-load=yes" - LFENCE Load + Indirect Branch + Ret: CXXFLAGS="-O3 -Wa,-mlfence-after-load=yes -Wa,-mlfence-before-indirect-branch=all -Wa,-mlfence-before-ret=or" CFLAGS="-O3 -Wa,-mlfence-after-load=yes -Wa,-mlfence-before-indirect-branch=all -Wa,-mlfence-before-ret=or" - --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++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --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=auto --with-tune=generic --without-cuda-driver -v - Scaling Governor: intel_pstate powersave - CPU Microcode: 0xca- itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable

No LVI MitigationLFENCE Before Indirect BranchLFENCE Before RETLFENCE After LoadLFENCE Load + Indirect Branch + RetLogarithmic Result OverviewPhoronix Test SuiteVP9 libvpx EncodingLAME MP3 EncodingOpenSSLC-RayJohn The RipperSMHasherSVT-AV1SVT-HEVCTimed HMMer SearchACES DGEMMGraphicsMagickCoremarkx264dav1dHimeno BenchmarkFFTWLAMMPS Molecular Dynamics SimulatorFLAC Audio EncodingTimed MrBayes AnalysisBotanPostgreSQL pgbenchLevelDBRedisMemcached mcperfIPC_benchmarkSysbenchFacebook RocksDB

LVI Mitigationsmt-dgemm: Sustained Floating-Point Ratebotan: KASUMIbotan: AES-256botan: Twofishbotan: Blowfishbotan: CAST-256c-ray: Total Time - 4K, 16 Rays Per Pixelcoremark: CoreMark Size 666 - Iterations Per Seconddav1d: Summer Nature 1080procksdb: Read While Writingfftw: Float + SSE - 2D FFT Size 128encode-flac: WAV To FLACgraphics-magick: Rotategraphics-magick: Resizinghimeno: Poisson Pressure Solveripc-benchmark: Unnamed Pipe - 2048ipc-benchmark: FIFO Named Pipe - 2048john-the-ripper: Blowfishjohn-the-ripper: MD5encode-mp3: WAV To MP3lammps: Rhodopsin Proteinleveldb: Hot Readleveldb: Fill Syncleveldb: Rand Readleveldb: Seek Randleveldb: Fill Syncmcperf: Add - 1mcperf: Get - 1mcperf: Set - 1mcperf: Add - 16openssl: RSA 4096-bit Performancepgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read Writeredis: GETsmhasher: wyhashsmhasher: wyhashsmhasher: fasthash32smhasher: fasthash32smhasher: t1ha0_aes_avx2smhasher: t1ha0_aes_avx2svt-av1: Enc Mode 8 - 1080psvt-hevc: 1080p 8-bit YUV To HEVC Video Encodesysbench: CPUhmmer: Pfam Database Searchmrbayes: Primate Phylogeny Analysisvpxenc: Speed 5x264: H.264 Video EncodingNo LVI MitigationLFENCE Before Indirect BranchLFENCE Before RETLFENCE After LoadLFENCE Load + Indirect Branch + Ret1.12168494.5344027.591364.617450.387143.940160.752155734.927124281.07925849362078.9227354373504.3821741520361148209777034383598.6413.0543.4386078.9533.4694.58174622.1126791.274530.774588.51217.6109133.8349476337.3977262902781.8515371.5830.876302.8839.97339576.7740.40613.84124.418863.99745.17280.09423.8644.541.12506394.5564012.193365.472455.182143.742160.740155387.192967279.92901427345698.8797204353495.0656551501588144200477044507308.7003.0913.5356172.7603.4584.6700.173822.3122542.873056.11217.5107867.8723276489.7174512807336.7515139.1644.5946305.0071.41639743.3747.80913.58023.838482.74135.19081.26623.7043.591.13468994.3153548.671361.857449.685143.336161.232150838.388176273.73899805331099.0066884353502.5389651475647145821976324421289.3812.9993.8336140.0123.8005.3430.172552.0125504.072700.472514.51214.9101653.3291486622.9350282964800.4215368.4048.4466301.2592.46040155.9373.13412.15621.288475.18435.77886.72920.3241.300.19911311.961656.42623.66127.04113.7861234.59130075.83260785.959116713179.797.94116265182.680759150678914822066469245776.7270.2755.5576279.4065.56110.54069923.1112679.369868.970035.3138.149296.6619285470.2147512290110.921459.64183.6061108.63158.3202536.98100.1422.1693.889160.575230.026861.6352.6310.810.19689911.947667.16323.62627.03613.8431235.08229308.80146285.049043753147.097.73216565182.685208145444212815226469235277.1490.2755.7466343.5905.79410.96369416.7108597.868935.869368.6138.145420.1824225255.4478692157109.921460.06199.7661108.26205.3972578.17129.6322.1333.799160.685230.058865.2952.5910.59OpenBenchmarking.org

ACES DGEMM

This is a multi-threaded DGEMM benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgGFLOP/s, More Is BetterACES DGEMM 1.0Sustained Floating-Point RateLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation0.25530.51060.76591.02121.2765SE +/- 0.000251, N = 3SE +/- 0.009027, N = 3SE +/- 0.011024, N = 3SE +/- 0.001089, N = 3SE +/- 0.009404, N = 30.1991131.1250631.1346890.1968991.1216841. (CC) gcc options: -O3 -march=native -fopenmp

Botan

Botan is a cross-platform open-source C++ crypto library that supports most all publicly known cryptographic algorithms. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMiB/s, More Is BetterBotan 2.13.0Test: KASUMILFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation20406080100SE +/- 0.00, N = 3SE +/- 0.05, N = 3SE +/- 0.04, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 311.9694.5694.3211.9594.531. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt

OpenBenchmarking.orgMiB/s, More Is BetterBotan 2.13.0Test: AES-256LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation9001800270036004500SE +/- 0.42, N = 3SE +/- 0.68, N = 3SE +/- 0.17, N = 3SE +/- 0.03, N = 3SE +/- 3.22, N = 3656.434012.193548.67667.164027.591. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt

OpenBenchmarking.orgMiB/s, More Is BetterBotan 2.13.0Test: TwofishLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation80160240320400SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.26, N = 3SE +/- 0.02, N = 3SE +/- 0.27, N = 323.66365.47361.8623.63364.621. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt

OpenBenchmarking.orgMiB/s, More Is BetterBotan 2.13.0Test: BlowfishLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation100200300400500SE +/- 0.00, N = 3SE +/- 0.10, N = 3SE +/- 0.09, N = 3SE +/- 0.00, N = 3SE +/- 4.11, N = 327.04455.18449.6927.04450.391. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt

OpenBenchmarking.orgMiB/s, More Is BetterBotan 2.13.0Test: CAST-256LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation306090120150SE +/- 0.01, N = 3SE +/- 0.21, N = 3SE +/- 0.06, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 313.79143.74143.3413.84143.941. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt

C-Ray

This is a test of C-Ray, a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total Time - 4K, 16 Rays Per PixelLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation30060090012001500SE +/- 0.56, N = 3SE +/- 0.05, N = 3SE +/- 0.02, N = 3SE +/- 0.84, N = 3SE +/- 0.06, N = 31234.59160.74161.231235.08160.751. (CC) gcc options: -lm -lpthread -O3

Coremark

This is a test of EEMBC CoreMark processor benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations/Sec, More Is BetterCoremark 1.0CoreMark Size 666 - Iterations Per SecondLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation30K60K90K120K150KSE +/- 15.75, N = 3SE +/- 406.60, N = 3SE +/- 696.48, N = 3SE +/- 3.16, N = 3SE +/- 594.80, N = 330075.83155387.19150838.3929308.80155734.931. (CC) gcc options: -O2 -O3 -lrt" -lrt

dav1d

Dav1d is an open-source, speedy AV1 video decoder. This test profile times how long it takes to decode sample AV1 video content. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFPS, More Is Betterdav1d 0.6.0Video Input: Summer Nature 1080pLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation60120180240300SE +/- 0.04, N = 3SE +/- 0.43, N = 3SE +/- 0.44, N = 3SE +/- 0.06, N = 3SE +/- 0.44, N = 385.95279.92273.7385.04281.07MIN: 78.9 / MAX: 97.75MIN: 254.67 / MAX: 306.05MIN: 248.49 / MAX: 298.86MIN: 78.13 / MAX: 96.33MIN: 263 / MAX: 305.721. (CC) gcc options: -O3 -pthread

Facebook RocksDB

This is a benchmark of Facebook's RocksDB as an embeddable persistent key-value store for fast storage based on Google's LevelDB. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Read While WritingLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation200K400K600K800K1000KSE +/- 6024.37, N = 3SE +/- 6920.01, N = 3SE +/- 10108.45, N = 3SE +/- 1624.30, N = 3SE +/- 14182.06, N = 39116719014278998059043759258491. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

FFTW

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.6Build: Float + SSE - Size: 2D FFT Size 128LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation8K16K24K32K40KSE +/- 2.37, N = 3SE +/- 335.87, N = 3SE +/- 402.02, N = 6SE +/- 5.21, N = 3SE +/- 457.98, N = 33179.734569.033109.03147.036207.01. (CC) gcc options: -pthread -O3 -lm

FLAC Audio Encoding

This test times how long it takes to encode a sample WAV file to FLAC format five times. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.2WAV To FLACLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation20406080100SE +/- 0.094, N = 5SE +/- 0.008, N = 5SE +/- 0.005, N = 5SE +/- 0.023, N = 5SE +/- 0.004, N = 597.9418.8799.00697.7328.9221. (CXX) g++ options: -O3 -fvisibility=hidden -lm

GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests on a sample 6000x4000 pixel JPEG image. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.33Operation: RotateLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation160320480640800SE +/- 8.62, N = 3SE +/- 1.00, N = 3SE +/- 0.67, N = 3SE +/- 0.33, N = 31627206881657351. (CC) gcc options: -fopenmp -O3 -pthread -ljpeg -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lpthread

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.33Operation: ResizingLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation90180270360450SE +/- 1.73, N = 365435435654371. (CC) gcc options: -fopenmp -O3 -pthread -ljpeg -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lpthread

Himeno Benchmark

The Himeno benchmark is a linear solver of pressure Poisson using a point-Jacobi method. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation8001600240032004000SE +/- 0.04, N = 3SE +/- 2.74, N = 3SE +/- 2.71, N = 3SE +/- 0.03, N = 3SE +/- 8.50, N = 3182.683495.073502.54182.693504.381. (CC) gcc options: -O3 -mavx2

IPC_benchmark

IPC_benchmark is a Linux inter-process communication benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMessages Per Second, More Is BetterIPC_benchmarkType: Unnamed Pipe - Message Bytes: 2048LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation300K600K900K1200K1500KSE +/- 5934.66, N = 3SE +/- 14185.23, N = 10SE +/- 22792.63, N = 13SE +/- 24328.97, N = 15SE +/- 23319.71, N = 315067891501588147564714544421520361

OpenBenchmarking.orgMessages Per Second, More Is BetterIPC_benchmarkType: FIFO Named Pipe - Message Bytes: 2048LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation300K600K900K1200K1500KSE +/- 23424.58, N = 3SE +/- 6206.38, N = 3SE +/- 22765.74, N = 3SE +/- 15759.80, N = 3SE +/- 6688.93, N = 314822061442004145821912815221482097

John The Ripper

This is a benchmark of John The Ripper, which is a password cracker. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.9.0-jumbo-1Test: BlowfishLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation17003400510068008500SE +/- 0.88, N = 3SE +/- 1.45, N = 36467704763264677031. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -pthread -lm -lz -ldl -lcrypt -lbz2

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.9.0-jumbo-1Test: MD5LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation100K200K300K400K500KSE +/- 10.33, N = 3SE +/- 90.21, N = 3SE +/- 520.74, N = 3SE +/- 6.67, N = 3SE +/- 42.78, N = 392457450730442128923524383591. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -pthread -lm -lz -ldl -lcrypt -lbz2

LAME MP3 Encoding

LAME is an MP3 encoder licensed under the LGPL. This test measures the time required to encode a WAV file to MP3 format. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.100WAV To MP3LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation20406080100SE +/- 0.005, N = 3SE +/- 0.003, N = 3SE +/- 0.001, N = 3SE +/- 0.016, N = 3SE +/- 0.004, N = 376.7278.7009.38177.1498.6411. (CC) gcc options: -O3 -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -pipe -lncurses -lm

LAMMPS Molecular Dynamics Simulator

LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgns/day, More Is BetterLAMMPS Molecular Dynamics Simulator 9Jan2020Model: Rhodopsin ProteinLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation0.69551.3912.08652.7823.4775SE +/- 0.000, N = 3SE +/- 0.005, N = 3SE +/- 0.004, N = 3SE +/- 0.001, N = 3SE +/- 0.006, N = 30.2753.0912.9990.2753.0541. (CXX) g++ options: -O3 -rdynamic -ljpeg -lfftw3 -lm

LevelDB

LevelDB is a key-value storage library developed by Google that supports making use of Snappy for data compression and has other modern features. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Hot ReadLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation1.29292.58583.87875.17166.4645SE +/- 0.011, N = 3SE +/- 0.029, N = 3SE +/- 0.016, N = 3SE +/- 0.011, N = 3SE +/- 0.010, N = 35.5573.5353.8335.7463.4381. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Fill SyncLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation14002800420056007000SE +/- 121.57, N = 15SE +/- 26.04, N = 3SE +/- 102.63, N = 15SE +/- 9.49, N = 3SE +/- 114.30, N = 36279.416172.766140.016343.596078.951. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random ReadLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation1.30372.60743.91115.21486.5185SE +/- 0.001, N = 3SE +/- 0.034, N = 3SE +/- 0.036, N = 3SE +/- 0.007, N = 3SE +/- 0.003, N = 35.5613.4583.8005.7943.4691. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Seek RandomLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation3691215SE +/- 0.039, N = 3SE +/- 0.034, N = 3SE +/- 0.045, N = 3SE +/- 0.039, N = 3SE +/- 0.013, N = 310.5404.6705.34310.9634.5811. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: Fill SyncLFENCE Before Indirect BranchLFENCE Before RET0.02250.0450.06750.090.1125SE +/- 0.00, N = 3SE +/- 0.01, N = 150.10.11. (CXX) g++ options: -O3 -lsnappy -lpthread

Memcached mcperf

This is a test of twmperf/mcperf with memcached, a distributed memory object caching system. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgOperations Per Second, More Is BetterMemcached mcperf 1.6.0Method: Add - Connections: 1LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation16K32K48K64K80KSE +/- 120.28, N = 3SE +/- 230.88, N = 3SE +/- 475.38, N = 3SE +/- 115.20, N = 3SE +/- 110.28, N = 369923.173822.372552.069416.774622.11. (CC) gcc options: -O3 -lm -rdynamic

OpenBenchmarking.orgOperations Per Second, More Is BetterMemcached mcperf 1.6.0Method: Get - Connections: 1LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation30K60K90K120K150KSE +/- 613.45, N = 3SE +/- 188.33, N = 3SE +/- 529.02, N = 3SE +/- 214.95, N = 3SE +/- 1437.67, N = 3112679.3122542.8125504.0108597.8126791.21. (CC) gcc options: -O3 -lm -rdynamic

OpenBenchmarking.orgOperations Per Second, More Is BetterMemcached mcperf 1.6.0Method: Set - Connections: 1LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation16K32K48K64K80KSE +/- 157.67, N = 3SE +/- 149.20, N = 3SE +/- 129.57, N = 3SE +/- 383.89, N = 3SE +/- 403.77, N = 369868.973056.172700.468935.874530.71. (CC) gcc options: -O3 -lm -rdynamic

OpenBenchmarking.orgOperations Per Second, More Is BetterMemcached mcperf 1.6.0Method: Add - Connections: 16LFENCE After LoadLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation16K32K48K64K80KSE +/- 120.20, N = 3SE +/- 114.33, N = 3SE +/- 85.00, N = 3SE +/- 293.57, N = 370035.372514.569368.674588.51. (CC) gcc options: -O3 -lm -rdynamic

OpenSSL

OpenSSL is an open-source toolkit that implements SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols. This test measures the RSA 4096-bit performance of OpenSSL. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSigns Per Second, More Is BetterOpenSSL 1.1.1RSA 4096-bit PerformanceLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation30060090012001500SE +/- 0.00, N = 3SE +/- 0.63, N = 3SE +/- 0.70, N = 3SE +/- 0.00, N = 3SE +/- 1.65, N = 3138.11217.51214.9138.11217.61. (CC) gcc options: -pthread -m64 -O3 -lssl -lcrypto -ldl

PostgreSQL pgbench

This is a simple benchmark of PostgreSQL using pgbench. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation20K40K60K80K100KSE +/- 54.85, N = 3SE +/- 95.59, N = 3SE +/- 196.17, N = 3SE +/- 47.38, N = 3SE +/- 413.63, N = 349296.66107867.87101653.3345420.18109133.831. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation14002800420056007000SE +/- 19.12, N = 3SE +/- 42.83, N = 3SE +/- 98.41, N = 3SE +/- 71.67, N = 3SE +/- 63.09, N = 155470.216489.726622.945255.456337.401. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Redis

Redis is an open-source data structure server. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 5.0.5Test: GETLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation600K1200K1800K2400K3000KSE +/- 6290.25, N = 3SE +/- 37253.75, N = 3SE +/- 23623.92, N = 3SE +/- 20411.81, N = 3SE +/- 33984.11, N = 152290110.922807336.752964800.422157109.922902781.851. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3

SMHasher

SMHasher is a hash function tester. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMiB/sec, More Is BetterSMHasher 2020-02-29Hash: wyhashLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation3K6K9K12K15KSE +/- 0.34, N = 3SE +/- 172.83, N = 3SE +/- 61.62, N = 3SE +/- 0.18, N = 3SE +/- 91.45, N = 31459.6415139.1615368.401460.0615371.581. (CXX) g++ options: -O3 -march=native -lpthread

OpenBenchmarking.orgcycles/hash, Fewer Is BetterSMHasher 2020-02-29Hash: wyhashLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation4080120160200SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3183.6144.5948.45199.7730.871. (CXX) g++ options: -O3 -march=native -lpthread

OpenBenchmarking.orgMiB/sec, More Is BetterSMHasher 2020-02-29Hash: fasthash32LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation14002800420056007000SE +/- 0.06, N = 3SE +/- 2.33, N = 3SE +/- 2.59, N = 3SE +/- 0.06, N = 3SE +/- 4.58, N = 31108.636305.006301.251108.266302.881. (CXX) g++ options: -O3 -march=native -lpthread

OpenBenchmarking.orgcycles/hash, Fewer Is BetterSMHasher 2020-02-29Hash: fasthash32LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation50100150200250SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3158.3271.4292.46205.4039.971. (CXX) g++ options: -O3 -march=native -lpthread

OpenBenchmarking.orgMiB/sec, More Is BetterSMHasher 2020-02-29Hash: t1ha0_aes_avx2LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation9K18K27K36K45KSE +/- 0.19, N = 3SE +/- 549.98, N = 4SE +/- 280.18, N = 3SE +/- 1.85, N = 3SE +/- 278.78, N = 32536.9839743.3740155.932578.1739576.771. (CXX) g++ options: -O3 -march=native -lpthread

OpenBenchmarking.orgcycles/hash, Fewer Is BetterSMHasher 2020-02-29Hash: t1ha0_aes_avx2LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation306090120150SE +/- 0.45, N = 3SE +/- 0.01, N = 4SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3100.1447.8173.13129.6340.411. (CXX) g++ options: -O3 -march=native -lpthread

SVT-AV1

This is a test of the Intel Open Visual Cloud Scalable Video Technology SVT-AV1 CPU-based multi-threaded video encoder for the AV1 video format with a sample 1080p YUV video file. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFrames Per Second, More Is BetterSVT-AV1 0.8Encoder Mode: Enc Mode 8 - Input: 1080pLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation48121620SE +/- 0.003, N = 3SE +/- 0.015, N = 3SE +/- 0.020, N = 3SE +/- 0.001, N = 3SE +/- 0.012, N = 32.16913.58012.1562.13313.8411. (CXX) g++ options: -O3 -fPIE -fPIC -pie

SVT-HEVC

This is a test of the Intel Open Visual Cloud Scalable Video Technology SVT-HEVC CPU-based multi-threaded video encoder for the HEVC / H.265 video format with a sample 1080p YUV video file. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFrames Per Second, More Is BetterSVT-HEVC 1.4.11080p 8-bit YUV To HEVC Video EncodeLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation612182430SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 33.8823.8321.283.7924.411. (CC) gcc options: -O3 -fPIE -fPIC -O2 -pie -rdynamic -lpthread -lrt

Sysbench

This is a benchmark of Sysbench with CPU and memory sub-tests. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgEvents Per Second, More Is BetterSysbench 2018-07-28Test: CPULFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation2K4K6K8K10KSE +/- 0.95, N = 3SE +/- 0.77, N = 3SE +/- 1.05, N = 3SE +/- 0.43, N = 3SE +/- 0.57, N = 39160.588482.748475.189160.698864.001. (CC) gcc options: -pthread -O3 -funroll-loops -ggdb3 -march=core2 -rdynamic -ldl -laio -lm

Timed HMMer Search

This test searches through the Pfam database of profile hidden markov models. The search finds the domain structure of Drosophila Sevenless protein. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation714212835SE +/- 0.079, N = 3SE +/- 0.020, N = 3SE +/- 0.053, N = 3SE +/- 0.047, N = 3SE +/- 0.005, N = 330.0265.1905.77830.0585.1721. (CC) gcc options: -O3 -pthread -lhmmer -lsquid -lm

Timed MrBayes Analysis

This test performs a bayesian analysis of a set of primate genome sequences in order to estimate their phylogeny. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed MrBayes Analysis 3.2.7Primate Phylogeny AnalysisLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation2004006008001000SE +/- 0.18, N = 3SE +/- 1.31, N = 3SE +/- 0.06, N = 3SE +/- 0.22, N = 3SE +/- 0.03, N = 3861.6481.2786.73865.3080.091. (CC) gcc options: -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -madx -mmpx -mabm -O3 -std=c99 -pedantic -lm

VP9 libvpx Encoding

This is a standard video encoding performance test of Google's libvpx library and the vpxenc command for the VP9/WebM format using a sample 1080p video. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFrames Per Second, More Is BetterVP9 libvpx Encoding 1.8.2Speed: Speed 5LFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation612182430SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.04, N = 32.6323.7020.322.5923.861. (CXX) g++ options: -m64 -lm -lpthread -O3 -fPIC -U_FORTIFY_SOURCE -std=c++11

x264

This is a simple test of the x264 encoder run on the CPU (OpenCL support disabled) with a sample video file. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2019-12-17H.264 Video EncodingLFENCE After LoadLFENCE Before Indirect BranchLFENCE Before RETLFENCE Load + Indirect Branch + RetNo LVI Mitigation1020304050SE +/- 0.01, N = 3SE +/- 0.28, N = 3SE +/- 0.11, N = 3SE +/- 0.02, N = 3SE +/- 0.49, N = 310.8143.5941.3010.5944.541. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize