9 ms·
Wow that's really cool. This is pretty close to native performance? This is a really great step for Linux on the desktop. Such an easy way to onboard people.
by rukittenme 10y ago
Wow that's really cool. This is pretty close to native performance? This is a really great step for Linux on the desktop. Such an easy way to onboard people.
- TheCoreh 10y agoAFAIK This is not emulation or virtualization, so as long as Microsoft's implementation of the Linux kernel APIs on top of the Windows kernel is performant, and the X11 implementation is also performant, this should have native performance. Also considering the state of graphics drivers on GNU/Linux and on Windows, it wouldn't surprise me if for some specific hardware configurations, the “perceived interactive performance“ (responsiveness) of the UI was actually higher on Ubuntu for Windows than on it running on top of the Linux kernel.
- loeg 10y agoIt is syscall-level emulation. Emulation in this case doesn't mean it has to be slow. I am curious how they implemented `fork(2)`, though.
- vertex-four 10y agoSurprisingly, the NT kernel implements a copy-on-write fork function - the Windows subsystem does not allow Windows applications to use that function, though. Bash for Windows is implemented as a separate subsystem from Windows on top of the NT kernel, allowing it to build its own abstractions on top of the kernel.
- gruez 10y agoAFAIK the nt kernel already has support for forking.
- TazeTSchnitzel 10y agoNT has support for POSIX-style forking, because it needed it in order to have a POSIX subsystem in the 1990s.
- bluejekyll 10y agoNot really except on the broadest definition of Linux, where Linux is ~= Unix. Linux is a kernel. GNU is the Unix environment which they are getting to explore, more specifically with the Ubuntu OS mgmt tools. Now what I don't get, and I'm not trolling here, is why would you want this? Isn't a VM a better option? I assume people using Windows want to because of the UI, not the kernel. Whereas people generally choose Linux/Gnu/Unix for the kernel and OS environment, not the UI. With Ubuntu on Windows you get part of what people have wanted, and arguable the most important part people want. Will people really want a Windows kernel, with Ubuntu/GNU OS tools, and Unity? I suspect most would still want the Windows UI.
- stepvhen 10y agoI am fairly certain this is a "syupid programmer trick" kind of thing. I don'tinagine anyone seruously using Unity within windows
- TheCoreh 10y agoIt is a good stress test of the implementation
- MichaelGG 10y agoI will ditch my Xubuntu VM the moment this seems viable and I find a way to turn off Win10's spyware. VMware has basically abandoned Workstation, and the gfx performance is terrible. A native X server on Windows talking to the Linux subsystem seems like it might be decent. And if this means somehow I can end up using more XMonad...
- ccallebs 10y ago> Now what I don't get, and I'm not trolling here, is why would you want this? Isn't a VM a better option? If this is indeed close to native performance, you wouldn't get anywhere close to that with a VM. I could be oblivious to some optimization techniques but Linux VM's on Windows have always performed drastically worse than native.
- 10y ago
- CJefferson 10y agoI can't comment on the X performance, but I am finding performance of command line applications is a couple of % faster on windows than it is on Linux (if they do little / no I/O).
- pritambaral 10y agoHow did you test it?
- CJefferson 10y agoJust using a CPU intensive application I work on (GAP, a computer algebra system), on my laptop. I'm hoping we can kill our current windows build, and require people install bash for windows.
- duckingtest 10y agoIs that application in python and uses numpy?
- CJefferson 10y agoNope, a python-like language written in C.
- pritambaral 10y agoMaybe the resources required to run just one bash instance (and whatever you run within it) is lower than the resources required to run whatever DE you had on Linux (Unity is notorious) enough for it to show? When I asked how you tested, I was looking for a more detailed answer: what were the environments, the hardwares, what does the cli app you used do (CPU, IO, allocation etc.) (this you answered), etc. --- I normally run a KDE session, which takes up some memory and the KDE ecosystem aren't the lightest users of syscalls (I'm looking at you Konsole), but when I need sheer perf (even for benchmarks), I kill all KDE sessions and switch to an openbox session running st.