Microsoft Details Performance Impact of Spectre and Meltdown Mitigations on Windows Systems (microsoft.com)
Microsoft's Windows chief Terry Myerson on Tuesday outlined how Spectre and Meltdown firmware updates may affect PC performance. From a blog post: With Windows 10 on newer silicon (2016-era PCs with Skylake, Kabylake or newer CPU), benchmarks show single-digit slowdowns, but we don't expect most users to notice a change because these percentages are reflected in milliseconds.
With Windows 10 on older silicon (2015-era PCs with Haswell or older CPU), some benchmarks show more significant slowdowns, and we expect that some users will notice a decrease in system performance. With Windows 8 and Windows 7 on older silicon (2015-era PCs with Haswell or older CPU), we expect most users to notice a decrease in system performance.
Windows Server on any silicon, especially in any IO-intensive application, shows a more significant performance impact when you enable the mitigations to isolate untrusted code within a Windows Server instance. This is why you want to be careful to evaluate the risk of untrusted code for each Windows Server instance, and balance the security versus performance tradeoff for your environment.
For context, on newer CPUs such as on Skylake and beyond, Intel has refined the instructions used to disable branch speculation to be more specific to indirect branches, reducing the overall performance penalty of the Spectre mitigation. Older versions of Windows have a larger performance impact because Windows 7 and Windows 8 have more user-kernel transitions because of legacy design decisions, such as all font rendering taking place in the kernel.
With Windows 10 on older silicon (2015-era PCs with Haswell or older CPU), some benchmarks show more significant slowdowns, and we expect that some users will notice a decrease in system performance. With Windows 8 and Windows 7 on older silicon (2015-era PCs with Haswell or older CPU), we expect most users to notice a decrease in system performance.
Windows Server on any silicon, especially in any IO-intensive application, shows a more significant performance impact when you enable the mitigations to isolate untrusted code within a Windows Server instance. This is why you want to be careful to evaluate the risk of untrusted code for each Windows Server instance, and balance the security versus performance tradeoff for your environment.
For context, on newer CPUs such as on Skylake and beyond, Intel has refined the instructions used to disable branch speculation to be more specific to indirect branches, reducing the overall performance penalty of the Spectre mitigation. Older versions of Windows have a larger performance impact because Windows 7 and Windows 8 have more user-kernel transitions because of legacy design decisions, such as all font rendering taking place in the kernel.
What — exactly — do you expect Microsoft to do? They didn't make the hardware and they can't fix this in software. I believe the fact that they're offering the choice (on Server at least) of suffering the performance impact or not shows an extraordinary degree of pragmatism. I honestly can't imagine a better response; how would you have them change it?
>> With Windows XX on older silicon (2015-era PCs with Haswell or older CPU)...we expect...a decrease in system performance. (So plan to buy a new proc from our licensed PC distributors soon.)
If you are using one of these "old" processors you haven't bought a new one and supported their good friends at Intel recently. Come on, get with the program, consumer. Also pick up a Pro or Enterprise version of Windows while you buying your new Intel processor, chum. ;)
Actually, this is a software (more precisely, a compiler) problem. The problem is that the modern compilers
make it difficult for these modern CPUs since they don't clearly instruct the CPU on how to proceed.
So the CPU has to speculate (a.k.a. guess) what instruction it should do next. If the compilers produced
better code in a more organized fashion, then the CPUs wouldn't have to be guessing all of the time, amiright?
(Hey, you know this is the next step in the blame game - watch somebody make a serious thread of this.)
CAP === 'spells'
That's the nice Windows 7 you got there. It'd be a real shame if something happened to its performance.
Your performance will be fucked six ways to Sunday if your workload does a lot of user to kernel mode switches. Unless you fancy waiting for Intel to release fixed chips and then buying a new CPU and a new motherboard to put it in.
Ironically Intel forcing people to buy new motherboards to switch between very similar CPU generations coupled with the fact that any Intel CPU you buy now still has the bug means that its just as easy to buy an AMD CPU and motherboard than an Intel one.
Then again a new Intel chip has Process Context ID support which means the workaround for the bug is relatively low impact.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
"Modern CPU's are almost like mini-computers"
Genius!
Windows 10 sucks (quantify that)
1. Keyloggers that send your keystrokes to Microsoft to serve targets ads in the OS. *cough* I mean 'Telemetry'.
2. Inability to control patches / updates
3. Reduced control over a system I *own*
There's a good start.
~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
Windows 10 is a nice kernel but with an GUI made by preschool children on top of it... Maybe I change my mind and switch to it when the interface be made by real professionals, until then I'll continue with Windows 7.
Religion: The greatest weapon of mass destruction of all time
You are right. You can't expect Microsoft to fix their older operating systems that are under support. They just don't have the manpower or money. Everyone should just install Windows 10 (starts at only $119). And you also shouldn't expect Intel to fix their stuff either. It isn't like they have money to fix their stuff either. Just buy a new chip when it comes out. Problem solved.
I am running a Skylake Core i5-6500 with 8GB RAM and a 250GB Samsung SSD with Windows 7 Home Premium and I have the patch installed and haven't observed any slowdowns.
Just kicked of a full compile (in VS 2017) of a large (~2100 files) project I have here and I saw no noticeable slowdowns compared to how fast the thing compiled before the patch. And such a thing would be highly I/O bound (reading all the input source files and things, writing out compiled obj and other files, reading toolchain binaries etc) and likely making a lot of kernel-user transitions.
I have no games on here that are demanding enough to show any observable difference between old and new so I cant test those.