One thing we found that severely impacted performance on Windows was the built-in anti-virus software (Windows Defender).
This came to our attention when we found one of our programs ran dramatically better on Windows 7 than 10 and we traced it back to the 7 machine not having Defender installed. We ended up optimizing our IO behavior to avoid triggering Defender and it made a huge difference.
This leads me to wonder how many of these benchmarks suffer on Windows from similar problems or if Defender was disabled how much of a difference it would make.
Defender does the scanning on CloseHandle() calls in untrusted code which can block the thread for even up to ~10ms (including other NTFS filter drivers) which is significant if you do open() close() pairs a lot.
More info about the similar issue and solution is apparently to sign the application [1]
I wonder if my former Windows using coworkers knew about that! They were quite good though so if there was something to know at the time, they probably did.
Common knowledge in the office was that Windows small file I/O performance is about 1/10th of Linux, probably due to NTFS and ACLs being expensive to evaluate.
I picked up the M142 (Ryzen 5 3500U variant) a couple weeks ago for $329.
I’m super happy with it for the money — there really aren’t any competitors at this price point that are in the same size/weight class. It’s even better that the RAM, NVME (2x) and wireless cards are all socketed — that’s something that most current high end ultrabooks don’t offer these days.
So far I’ve added a Samsung 970 Evo Plus and installed Fedora 31.
FYI there was a Motile subreddit (/r/motile) for anyone interested in discussing these further.
An AMD laptop for 200-250 would be a steal, IMO. The performance is far better (for comparison https://openbenchmarking.org/result/1912177-HU-MANJAROPO12) and x86 support is something I wouldn't want to pass on if I didn't have to. Unfortunately, even the cheapest ones in Germany go for at least 330 Euros.
Even better would be for Microsoft to contribute to Wine, or to perhaps develop a proprietary Windows-source-code-derived alternative that they could sell.
It's highly unlikely that Microsoft would take either approach, but they'd be better options than putting Windows in a VM.
This came to our attention when we found one of our programs ran dramatically better on Windows 7 than 10 and we traced it back to the 7 machine not having Defender installed. We ended up optimizing our IO behavior to avoid triggering Defender and it made a huge difference.
This leads me to wonder how many of these benchmarks suffer on Windows from similar problems or if Defender was disabled how much of a difference it would make.