Alex Posted January 17, 2018 Share Posted January 17, 2018 Meltdown / Spectre Benchmark A free standalone tool to assess the performance impact of the recent Meltdown and Spectre security patches for Microsoft Windows. Download: X86: Meltdown.Spectre.Benchmark_X86.exe X64: Meltdown.Spectre.Benchmark_X64.exe System Requirements: Windows 7 / Windows Server 2008 R2 or newer .NET Framework 4.5 or newer Visual C++ 2013 Redistributable (most systems should already have this) Feel free to share this tool, updates will be posted to the URLs above as necessary. (both files are signed with the Covecube Inc. certificate) FAQ Q: What is Meltdown / Spectre? A: Meltdown and Spectre are the names of 2 vulnerabilities that were recently discovered in a range of microprocessors from different manufacturers. In order to protect systems against exploitation, Operating System and hardware firmware patches will be necessary. Unfortunately, these patches will inflict an overall performance degradation, sometimes a severe one. In general: Meltdown is Intel specific and does not affect AMD processors. It's mitigated using a Windows patch from Microsoft. Non-elevated processes will be affected most by this patch. Spectre requires a Windows patch and a CPU microcode update from your motherboard manufacturer (in the form of a BIOS / firmware update). For more information on these exploits, see Wikipedia: Meltdown (security vulnerability) Spectre (security vulnerability) Q: What is this tool for? A: This tool allows you to: See if your Windows OS is patched for Meltdown / Spectre and if the patches are enabled. Benchmark the OS in order to get a sense of how the patches are affecting your performance. Enable or disable the Meltdown / Spectre patches individually in order to assess the performance difference of each. Observe the number of system calls that your OS is making in real time, as you use it normally. Q: How does the benchmark work? A: The benchmark will measure the peak rate of user to kernel transitions that the OS is capable of using all of your processor cores. This is not the same as measuring the CPU utilization or memory bandwidth. Here, we're actually measuring the efficiency of the user to kernel mode transitions. While the patches may affect other aspects of your system performance, and the performance degradation is workload dependent, this is a good way to to get a sense of what the performance impact may be. Link to comment Share on other sites More sharing options...
Spider99 Posted January 18, 2018 Share Posted January 18, 2018 Having tried this benchmark on my patched Win10 Pro 64Bit 6700k - no overclock - just xmp applied to the ram there are a few issues 1. disabling Spectre - actually disables Meltdown as well after a reboot 2. approx half way through the benchmark the screen goes blank and then corrupts (monitors go into standby) - most times it does come back - sometimes it does not - needing a hard reboot to get the machine working again. Possibly the nvidia drivers (390.65) which i think are the ones patched for M & S? - You can see the drop in capture3 when this occurs - in this case it came back as i was able to get the screen capture. 3. With both patches enabled i get a score of approx 8.5m - with both patches turned off i get approx 83M - is this realistic as i thought the effect was approx 30% from what i read in the press? Or is this a specific test - worst case if you do say a lot of database work?? 4. Maybe you need to make it clearer on the interface that a reboot is required to change the enabled/disabled state of the patches prior to clicking on them? Like the idea of this tool so thought i would report the issues i am seeing Link to comment Share on other sites More sharing options...
Christopher (Drashna) Posted January 18, 2018 Share Posted January 18, 2018 I'd answer, but most of this needs to be answered by @Alex, I think. But the first two, I think are "expected". As for the rest, I'm not sure. And for the most part, normal usage may not be affected drastically. Browsers are CPU light, but heavy on RAM, for instance. Games, and some processes may be affected, and the values may be "real world" depending on the program. But running as Admin may be a (shitty) stop gap to regain performance. Link to comment Share on other sites More sharing options...
Alex Posted January 19, 2018 Author Share Posted January 19, 2018 Thank you for your feedback. This should be fixed in 1.0.6592.33749, which I've just put up now (see link in original post to download it). I've tested with 390.65 with a Geforce 1070 Ti running on a Haswell platform and I'm not seeing anything like that. The benchmark doesn't do anything to block other system calls while it's running, and it doesn't elevate its own priority in any way. Other processes in the system should continue to function normally while the benchmark is running. In fact, the OS Calls / Second that is measured is a combined count of what the benchmark is doing combined with all of the other apps in the system. Maybe certain platforms are more sensitive to the high loads that it's generating? You can try to reduce the number of simultaneous threads in Options (little gear). I've seen different numbers quoted, but the truth is, it's workload dependent. If an app is not making many system calls, then it will be affected less, and if it's making a lot of system calls, it will be affected most. This benchmark is measuring the Operating Systems' maximum user / kernel transition rate. With the new patches, every time that transition happens the TLB (translation lookaside buffer) is flushed on the CPU. The TLB is a super fast lookup table that translates virtual memory addresses to physical ones. Without it, the CPU has to go to the RAM to perform that translation (which is much slower). Added some additional text in 1.0.6592.33749. Anecdotally, I've been playing around with this benchmark on my Hyper-V machine, and I'm seeing huge performance differences on the VMs toggling the patches. Link to comment Share on other sites More sharing options...
B00ze Posted June 9, 2018 Share Posted June 9, 2018 Wow, just discovered this. I bench 32M switches with, vs 92M without, and that's with Meltdown only (haven't patched BIOS yet). Thankfully under normal use I only see 1000 - 30,000 switches, so the effect is limited. Regards, Link to comment Share on other sites More sharing options...
jworrel Posted November 13, 2018 Share Posted November 13, 2018 I just benchmarked on the following machine: Dell OptiPlex 3040 (BIOS 1.6.1 / Spectre variant 2 patched only, not 3a or 4) Intel Core i5 6500, 8GB RAM, 256GB SSD Windows 10 Pro 1803 / 17134.345 (2018-10 Cumulative patch installed) I am seeing an 87% performance drop in OS Calls / Second with both Spectre and Meltdown patches enabled. Link to comment Share on other sites More sharing options...
jworrel Posted November 13, 2018 Share Posted November 13, 2018 Update: I just benchmarked the same machine with BIOS 1.8.2 installed (Spectre variants 2, 3a and 4 all patched) Dell OptiPlex 3040 Intel Core i5 6500, 8GB RAM, 256GB SSD Windows 10 Pro 1803 / 17134.345 (2018-10 Cumulative patch installed) I am seeing an additional ~20% performance drop in OS Calls / Second with only the Meltdown patch enabled on BIOS 1.8.2. Spectre patch performance remains the same. Link to comment Share on other sites More sharing options...
Recommended Posts