That certainly could have been true if NT would have been pure microkernel, but NT is hybrid and cache and i/o executives are running in kernel space. So I doubt there are much more context switches comparing to Linux. I'm not sure if win32 subsystem is still running in kernel-space for Windows 10 like it was in WinXP.
Announcement
Collapse
No announcement yet.
Microsoft Still Working To Squeeze More I/O Performance Out Of WSL / Bash For Windows
Collapse
X
-
Originally posted by linuxgeex View PostIf you want good performance for WSL, create a partition to run WSL out of with System Restore, Indexing, and Compression disabled. Then it will be about 80% the speed of EXT4 on average.
Comment
-
Originally posted by Weasel View PostMaybe it has to do with the fact that it's a micro-kernel design and requires more context switches doing many-file operations (not just reads and writes but also open and close).
Now to be honest it was over 10 years since I saw a rack mounted Windows server, but back then when you walked into a server room at night when the servers where idling the activity leds for disk and network on the Linux and BSD servers where dark while the Windows machines light up like it was Christmas. If I'm not mistaken Windows have a tendency to prefer to put memory of running applications to swap as soon as possible which also would stress the IO subsystem more.
- Likes 1
Comment
-
Originally posted by FishB8 View PostThey really need to find a fix for directory traversal as well. "/path/to/softlink-dir/../" goes to the parent of the directory that softlink-dir points to, rather than to the parent directory of the softlink-dir. Has to do with how underlying NTFS deals with directory junctions.
Comment
-
Originally posted by nils_ View Post
I don't think that's how it goes
Comment
-
Originally posted by randomizer View Post
You may find the same thing running a Linux VM on Windows. I ran the unit test suite for a web application (all Node stuff) in a VM with limited resources and it was 4-5x faster than on the Windows host. I think part of the problem is that Windows is a second class citizen for many open source projects (particularly developer-oriented ones), probably because the developers rarely run Windows themselves.
- Likes 1
Comment
-
Originally posted by F.Ultra View PostI doubt that context switching overhead would be so great that it could explain such a big performance penalty. I think that it's a combination of NTFS being just slow (I mean the internal structure of NTFS is way over engineered with multiple stream support and so forth) and that Windows kind of does something to keep the IO subsystem busy 24x7.
Now to be honest it was over 10 years since I saw a rack mounted Windows server, but back then when you walked into a server room at night when the servers where idling the activity leds for disk and network on the Linux and BSD servers where dark while the Windows machines light up like it was Christmas. If I'm not mistaken Windows have a tendency to prefer to put memory of running applications to swap as soon as possible which also would stress the IO subsystem more.
What I'm saying is, I doubt they (Microsoft) can make it (native NTFS, not WSL) much faster, and I doubt WSL will ever be faster than native (unless it directly uses special kernel calls, but I seriously doubt it, it's probably just a wrapper so it cannot be faster). Unless, unless, they wrote some shit unoptimized code in there, but I really doubt it after so many years.
It was a bad design from the beginning, and I heard macOS is also case-insensitive, except HFS+ is much, much worse of a mess than NTFS is. Always makes me facepalm. It's one thing where Unix and Linux got it right completely, full respect.Last edited by Weasel; 11 August 2018, 08:42 AM.
- Likes 2
Comment
Comment