5 ms·
Note that the performance didn't really have anything to do with NTFS. This is trivial to prove if you just try a different filesystem.
by mehrdadn 7y ago
Note that the performance didn't really have anything to do with NTFS. This is trivial to prove if you just try a different filesystem.
- close04 7y agoWSL 1 and WSL 2 can coexist and be used according to what needs one's scenarios present. I imagine MS collected enough requirements to also justify a full Linux VM. There will be some slowness somewhere, the 2 versions now let you choose on which side of the boundary to place it. https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq
- mehrdadn 7y agoThey could've instead worked on speeding up the I/O subsystem and sped up Windows altogether. I refuse to believe it's impossible. The more plausible reasons to me seem to be (a) they have to work independently from the I/O subsystem team(s) for whatever reason (maybe they didn't care enough to cooperate), or (b) it's too tricky to get right and prone to bugs, so they preferred not to have to deal with it and risk breaking I/O.
- close04 6y agoI/O subsystem performance is just one aspect. WSL 1 is missing a lot of other stuff probably because the effort to implement it all was to great. MS would have to duplicate a lot of the effort already put in by Linux developers. So they went the route of a full Linux VM. And no matter how much MS improves WSL 1 there would always be something missing that enough users want/need. For example I care more about the network related stuff that wasn't implemented (NETLINK_ROUTE\RTM_GETROUTE, AF_PACKET family) because this excluded nmap.
- shawnz 7y agoWSL 2 can't coexist with other virtual machine software though (unless it leverages Hyper-V)
- sebazzz 7y agoGood chance that your other VM software can't co-exist anyway. Many other technologies, Windows Defender among others, leverage virtualization through Hyper-V.
- shawnz 7y agoHyper-V is not installed by default on Windows and I have not been required to install it for anything except WSL 2 (and Hyper-V itself). I think Docker on Windows also uses it but I don't use that. Windows Defender has never indicated a requirement for Hyper-V to me.
- mehrdadn 7y agoI think by Windows Defender they might've been thinking of the Sandbox?
- sebazzz 6y agoIt is not anywhere in the Windows features dialog mentioned explicitly but many features install an hypervisor under the covers. Not Hyper-V itself but a hypervisor which inhibits other VM hypervisors from functioning.
- shawnz 6y agoIf you are talking about "Windows Hypervisor Platform", that indeed has Hyper-V as a dependency.
- rb12345 6y agoCredentialGuard uses Hyper-V, so it could be that.
- blackoil 7y agoLatest version of VirtualBox and VMWare support Hyper-V and Docker latest/beta supports WSL2. That should solve most use cases.
- cesarb 7y agoYes, this long issue comment explains how the true cause is the design of the Windows IO subsystem: https://github.com/microsoft/WSL/issues/873#issuecomment-425272829 https://github.com/microsoft/WSL/issues/873#issuecomment-425...
- mehrdadn 7y agoYeah, and I'm not sure I really buy everything they say there either. For example, "unfortunately that means sending more operations down to the file system" seems a little tough to swallow. There's no reason it has to be that way for file systems they control, which I dare say is the case for almost all their users. They could just implement separate APIs that optimize the cases where all sides of the equation are well-known, and only fall back (as they mention) when there's an unknown somewhere. (Not that I'm suggesting these are easy. Just commenting on the technical premises they're providing.) Also they said "That doesn't mean we've given up either", but you really have to do some mental gymnastics to convince yourself that moving to a VM wasn't "giving up" on solving these problems in WSL1.
- Lammy 7y agoTo be fair, I read that as "NT (kernel) filesystem performance" and didn't assume it meant NT File System as in NTFS.
- mehrdadn 7y agoI also specifically worded it as "note that" to preempt this comment about the slight ambiguity, but I guess that didn't really help... But in any case, I think the component you want to refer to in that case it the "I/O subsystem".