I've never really used Windows as a daily driver until I had to do cross-platform development for PhotoStructure[1]. My windows box is a recent XPS 15 with an m.2 SSD and core i7. My Mac is a 10 year old 17" MBP. My linux box is the cheapest core i5 I could get 2 years ago with an mSATA SSD (not m.2).
Here's this morning's CI job timings (running the same 2K tests that exercise a reasonable mixture of CPU, process management, and disk I/O):
Windows 10 (XPS 15):
2384 passing (2m)
Done in 134.95s.
Mac (10 year old MBP on 10.11): 2365 passing (2m)
Done in 108.12s.
Ubuntu (i5, LTS 18.04): 2365 passing (1m)
Done in 74.16s.
I'd suggest backing up your HD, making a USB stick with OEM Windows 10, and reinstalling just Windows (with no Lenovo bloatware): https://support.microsoft.com/en-us/help/4000735/windows-10-...[1] https://blog.photostructure.com/introducing-photostructure/
That said, this is really a Windows-feature being misused by OEMs and as a user I would be interested in having a way to disable it.
What's in the 19 additional tests Windows is running? Is the Linux box a laptop as well? I'm personally having trouble believing the Core 2 Duo in your MBP outperforms a modern i7, even after potential Windows overhead.
Yeah, agreed, but these are single-core tests and even the max clock speed of intel chips doesn't seem to correlate exactly with performance. Here's more CPU details, though:
My XPS 15 is HT 4-core Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz.
The MBP is https://apple-history.com/mbp_17_mid_10. HT dual-core i5 ("Arrandale") @ 2.53 GHz. It's slow AF.
The ubuntu box is HT dual-core Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
> What's in the 19 additional tests Windows is running?
The 19 additional tests are windows-specific path validation unit tests, and take ~10ms total.
> Is the Linux box a laptop as well?
No, it's on a 3 year old cheapo mini ITX mobo.
> I'm personally having trouble believing
Me too. I've nuked and paved this box a couple times, thinking it was bad interactions with cygwin or MSYS or minGW. CPU bound stuff (like ffmpeg transcoding) is closer across windows and linux, but opening files and forking processes on Windows is just hella slow (even on my desktop windows machines).
Fork & fs operations, certainly.... nothing to do with Windows itself.
Both of these operations are known to be very slow specifically in windows. The former's the reason why windows has always strongly favored thread-based concurrency (whereas unices tend to favor process-based concurrency)[0], the latter is well know of NTFS, it deals especially badly with lots of small files.
[0] even excluding making the entire thing blowing its gasket as Bruce Dawson triggers with appalling regularity, in fact in one of his posts he specifically notes in the introduction that windows is notorious for its slow file and process operations: https://randomascii.wordpress.com/2018/10/15/making-windows-...
In practice, the i5-6500 is faster than the i7-6700HQ. The i5 enjoys a slightly higher turbo clock speed and less restrictions in TDP, cooling and power supply allowing it to run faster for longer so it's expected to be the fastest, but that doesn't explain the entire gap.
Have you tried using WSL instead? I found it to do excellent in CPU based tasks, but the file IO performance was a bit lacking. Apparently in the next release (along with this new terminal) filesystem performance should improve by a significant amount. Although I would still expect it to be slower than running on Windows/NTFS natively
Interesting. TIL, thanks. (I looked at /proc/cpuinfo on my i5, saw 4 entries, and assumed HT dual core).
> Have you tried using WSL instead?
These are tests to ensure PhotoStructure works on stock Windows machines, so I can't use WSL.
> filesystem performance should improve by a significant amount
That'd be awesome. Where'd you read that?
From here: https://venturebeat.com/2019/05/06/microsoft-windows-termina...
https://en.wikipedia.org/wiki/List_of_Intel_Core_i5_micropro...
2.installed from scratch
3.the windows setup only put essential Lenovo stuff - hotkeys and thermal management.
4. ???
5. Profit [1]
It made a real difference to disable the automatic windows updates and run them manually. There were no bloatware installed on my unit.
[1] A joke from the memes, its all good otherwise.
I have an Asus with Windows 10, and after a day of use, it becomes unbearably slow. It seems there is a lot of activity on the HD. I tried to diagnose this, but was never able to pinpoint a specific process that was slowing it down.
The only solution was to restart it. Web browsing always had a huge delay.
Linux on the other hand: startup is fast, use is fast, runs for months without any restart.
Use some debloater to remove other stupid stuff. Then it will fly.
In theory windows can be faster than Linux in some cases; but usually isn't because most developers don't actually take advantage of those APIs and just do everything synchronously which is stupid slow on Windows. That said Linux is catching up super quick in terms of those sorts of things.
EDIT: grammar
Granted, it has an SSD, so disk access is not slowing the machine down as much, but so do all the computers today.
Learned this the hard way when I was interning as a tester for an audio driver. Sometimes the driver would get into a bad state, and you could power cycle the system and the driver would still be a bad state. I created a batch file that would run the shutdown command with a flag to initiate a complete shutdown rather than a kernel hibernation, which was necessary to reset the state of the driver.
The best way to get a Windows computer is either building it or buying it directly from Microsoft so you can get the genuine versions that have little to no bloatware.
https://www.microsoft.com/en-us/software-download/windows10s...
Bloatware, begone!