this is all quite experimental at the moment! separate licence from EMBL-Hamburg, so you will first be redirected to their WSL2 docker-compose from scratch 25-30 mins. In debug utility of Symfony the "TraceableFirewallListener" needs an unusual huge amount of time. 10485760000 bytes (10 GB, 9.8 GiB) copied, 7.0873 s, 1.5 GB/s Web directories : /c/repositories/xxx. Windows files are now accessed across the VM boundary, however. 20971520000 bytes (21 GB, 20 GiB) copied, 47.4897 s, 442 MB/s. all of them) install, To run jligand (still doesn't work fully though), Google Chrome doesn't work in WSL-1 but for information purposes this is how to get it anyway :-, wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb, sudo apt-get install ./google-chrome-stable_current_amd64.deb, To get CCP4Cloud running (wslview is the default WSL browser – the first Have a question about this project? 20000+0 records out • Run setup script after unpacking the *.tar.gz file. Moreover, Docker is now fully supported making development much easier. If However, switching back to wsl1, brings usable performance back. But when I ran our teststuite for the first time, I was pretty disappointed that the performance was actually much worse than before (40s on the Docker Deskop Linux VM setup vs 100s on the WSL2 setup). In WSL1, file performance was slow compared to Linux because it had to emulate Linux behavior on top of the Windows IO subsystem, which has a very different design than Linux and is slow for many operations that are extremely fast in Linux and therefore used a lot by Linux tools. website. This is on Microsoft Windows [Version 10.0.18936.1000]. (& have it running). MS's intentions are good however I think they have overlooked this particular problem which makes any large data cross-platform compute impossible, might as well go back to Linux or invest on a very large SSD yet again moving files across is going to be a pain. Mac Parallels 13.3.2, Windows 10 pro 1903 virtual machine. ATTENTION: Therefore, They share the same Kernel, VFS cache etc. ARP/wARP requires a Current for 25th January 2021 – NB. I decided to open this as a separate issue because although it's related to the generic issue of filesystem performance it's directly related to WSL 2 while the other issues are for WSL 1 and it's showing very conflicting results. The same setup on a native linux machine has always been multiple times faster and the "problem" (from what I've read) has always been attributed to the Linux VM that is used on Docker Desktop. Version 10.0.18917 Build 18917, What you're doing and what's happening: libglu is the one that matters, but it doesn’t harm to have On / it's actually the reverse. Stable 2.1.0.1 doesn't work; Stable 2.0.0.3 doesn't work (as suggested above) Both versions have same issue virtual machine in Hyper-V consumes 50% host CPU and never gets ready to work. 13:20:54.468368 diff-lib.c:537 performance: 0.001873400 s: diff-index Edit. Is your code on Linux or on windows side? separate licence from EMBL-Hamburg, so you will first be redirected to their This was the case for both the "internal" Linux file system, and the Windows file systems mounted in /mnt, because they both use regular NTFS files. Subsequent investigation brought me to this thread. 10485760000 bytes (10 GB, 9.8 GiB) copied, 29.7096 s, 353 MB/s @definelicht - Yep we're working on improving the performance. In x265, the slower the preset, the bigger the file size is at the same crf. Then this is the right behaviour. By clicking “Sign up for GitHub”, you agree to our terms of service and So, whereas before WSL2 all project files where in the MS Windows file system, with WSL2 I've needed to clone the project into a WSL2 Ubuntu 20.04 file system sub-directory, under ~/home/. Then WSL 2 was announced and I finally came around to set everything up. 1 year to resolve this issue and... we still waiting for that. Firefox is broken on the Linux Install, and the google state (see further on) :-, https://docs.microsoft.com/en-us/windows/wsl/install-win10. Excuse my ignorance, but it seems like it could be possible. would you know if you can do this? Bash script I wrote to run git for windows in WSL. If you follow the I'm curious, can confirm a very bad performance on /mnt (mvn install takes forever), on /tmp it takes only 2 minutes for the same project. Alternatively, the suite may be downloaded and installed in separate parts. To get aimless working, install the following from a WSL terminal, sudo apt-get install libgomp1. I suppose the issue is the same. unpacking it, otherwise the app icons will not be functional. Visual Studio projects in .git are impossible to use via WSL2. The installer may run slower than it usually does, but it for further information. In WSL2, every operation has to send data to the host, exit the VM, wait for the host to perform the operation (which still involves emulating Linux behavior and the cost of Windows IO operations), send data back to the VM, trigger an interrupt in the VM, schedule the virtual processor to run, and continue executing in the VM. Your Windows build number: (Type ver at a Windows Command Prompt) 10000+0 records out 13:20:54.468346 unpack-trees.c:1649 performance: 0.000438000 s: unpack_trees Thank you. At the time of writing hyperthreading In fact, if compile times are being limited by storage there should be some quick wins in configuration terms - building intermediates to RAM, cache warming, etc - that can enable better performance than … --correction--- ^C12360+0 records in All the other command-line programs I tried worked (this doesn’t cover every single binary though). Application is slow but phpstorm for example is fast. and you will also need to setup x11 for graphical stuff 13:20:53.531359 read-cache.c:1575 performance: 48.900269600 s: refresh index I see much better performance on sequential writes. Essentially, Windows files are now a "remote" file system. The repo is in a normal Windows directory and gets mounted via volume bind in the docker container, so that I can easily manipulate the files through an IDE. Click here for the What preset should I use? downloaded and automatically installed with Package Manager (recommended). These include SHELX and WinCoot (version 0.9.4.1) as optional components. 1000+0 records out root@LUCIANO-PC:/home/# dd if=/dev/zero of=/testfile bs=1M count=10000 I understand some compromises are made when releasing things, but this is such an embarrassment I think you should have kept WSL2 in beta for now. It is at least time to have some public strategy and timeframe on this. In the meaning working out of your root file system (the ext4 volume) will have MUCH better performance. • Screen Time (macOS Catalina or newer) was found to block As much as I'd like to go back to Linux this setup really has been working well for me and I'd like to stick with it for the benefits it gets me. Docker Desktop leverages that to handle bind mounts from a WSL 2 distro without involving any remote file sharing system. I'm thinking this has to do something with OS Caching because in task manager even though I can see the file being written, the disk usage write speed is unchanged while in wsl1 I can see it constantly at around 350mb/sec . The binary packages for Microsoft Windows are available below. 13:20:56.007094 diff-lib.c:251 performance: 0.000003500 s: diff-files Accessing Linux files through \\wsl$ is unbearably slow, Running docker on Ubuntu 18.04.2 LTS (WSL Enabled), Filesystem Feature and Performance Issues, WSL2: File operations on NTFS folders extremely slow, Access windows git project with wsl git is too slow, https://docs.microsoft.com/en-us/windows/wsl/compare-versions. :-/. It’s super easy to work with files from both Windows and Linux and it is much quicker than WSL 1. I'm assuming you're still refering to / and not /mnt folders about namespace operations. terminal. 13:20:54.569793 read-cache.c:2989 performance: 0.014679900 s: write index, changed mask = 2 Also note I encountered problems when 20971520000 bytes (21 GB, 20 GiB) copied, 51.3779 s, 408 MB/s My MacBook pro is a lot faster than the 6yo top of the line Mac Mini. directly from the CCP4 source code repositories. It goes back down a while after quitting my shell. I'm experiencing the same issue, /mnt is extremely slow compared to WSL1 (seconds to run git status on a relatively small repository). If you keep following the post at this point you'll set up an Ubuntu 20.10 daily build. You signed in with another tab or window. In the meaning working out of your root file system (the ext4 volume) will have MUCH better performance. Changing VM settings in (more memory or more CPU-s ) doesn't have any effect. didn’t encounter any show-stopping issues (see notes below). I was super excited for WSL2 because it solves a lot of issues with WSL1. With WSL2 the payback time is varying between 5s to 7s. Do we know what's at the root of this, and whether there are any other workarounds than downgrading? Does it have to be this way? By the 3rd copy action all my RAM is used up (32GB). 13:20:56.215068 trace.c:477 performance: 51.628126000 s: git command: git status -sb -uno, File System exFat, the result is the same is other file system... I'm using Postman to test a local API, which I used Laradock, I used a simple string return. It is much less supported, and from my tests back in 2018 the 12-bit encoder is actually worse than the 10-bit encoder at high crf due to less resources put into developing it. Another interesting fact is that if I mount the same drive as a cifs share I get 3x performance, root@LUCIANO-PC:/mnt/sambae# dd if=/dev/zero of=/mnt/sambae/testfile bs=1M count=10000 different for academic and for-profit users. 10000+0 records in git for windows=0.8 sec. A "no" would be a totally acceptable answer - I just don't want to waste any more time on this if it's simply not ready yet. What's wrong / what should be happening instead: WSL1 docker-compose from scratch 8-10 mins. I'm also experiencing this after an upgrade to WSL2, only slow performance under /mnt, not /, slower than WSL1. Is your code on Linux or on windows side? and updates. After installing WSL, make sure to run these commands after installation: ... and with the added safety of running it as a virtual machine. @garbinmarcelo Docker settings are independent from your console configuration - it has it's own distributive: Seems like many people are suffering the same issue as I am. I have Insider build 2004/19640.1. I guess it's because of much slower volume sync. Setup for MacOS VM If you are using an actual Windows partition it sys 0m40.197s. When MD5 checksums of all files. that's the problem of wsl2 right now. picking the flavour of Linux to use, I would recommend Ubuntu 18.04 LTS (if user 0m3.894s I'm testing filesystem write speed in /mnt using dd command. For tutoring please call 856.777.0840 I am a recently retired registered nurse who helps nursing students pass their NCLEX. As another interesting fact, the vmmem usage while writing the file is increasing rapidly. does work – please don’t interrupt it if it’s taking a few minutes longer than Slowness in accessing mounted windows drives and remote windows servers is the major problem we face in using WSL, whether version 1 or 2. I would hope solving that any way you can would be one of your top priorities, as it has got to be the most reported problem at this point because it is such a major use case. Note that the conditions are The most updated (only few minor releases behind) version of Redis can be found here.This repository provides you with 3.2.100 version (current is 3.2) whereas the most upvoted answer gives you only 2.4.6 version and the last update to the repo was 2 years ago.. Why not put a bunch of people on it for up to two months and if you can't solve it within that span, acknowledge that you can't so the user base knows whether you can improve it or not. WSL 2 git=51.62 sec settings & was unable to chmod them back). would there be any real gain or are they similar? • Remove extended attributes from the downloaded *.tar.gz file before database, uncompress the package in the same directory where CCP4 is installed. WSL2 docker-compose from scratch 4-5 mins. Successfully merging a pull request may close this issue. root@LUCIANO-PC:/home/#. 13:20:53.981829 read-cache.c:2267 performance: 0.016242500 s: read cache /mnt/e/p/keyed_au/.git/ modules/Files/media/nusoap/index 13:20:07.766270 preload-index.c:146 performance: 3.135180100 s: preload index 13:20:55.277184 read-cache.c:2267 performance: 0.031572000 s: read cache /mnt/e/p/keyed_au/.git/ modules/Files/modules/unittest/index option 3 is still faster.) I know that wsl2 is a preview, but is there any hope that accessing \wsl$ from windows or /mnt from wsl will reach acceptable speeds? I have git aware prompt which means if I'm in a git project just hitting ENTER is painful! root@LUCIANO-PC:~# dd if=/dev/zero of=/mnt/e/testfile bs=1M count=10000 Root : / Could you pass me the steps? 10000+0 records in Performing the following tests, root@LUCIANO-PC:/home/# dd if=/dev/zero of=/mnt/e/testfile bs=1M count=1000 This is my performance in a medium project: GIT_TRACE_PERFORMANCE=1 git status -sb -uno, 13:20:04.630972 read-cache.c:2267 performance: 0.017249300 s: read cache .git/index 13:20:56.042084 unpack-trees.c:1649 performance: 0.000399800 s: unpack_trees 13:20:56.042102 diff-lib.c:537 performance: 0.000454400 s: diff-index 13:20:56.126615 read-cache.c:2989 performance: 0.012095500 s: write index, changed mask = 2 13:20:56.141174 trace.c:477 performance: 1.261971900 s: git command: /usr/lib/git-core/git status --porcelain=2 -uno 13:20:56.148677 diff-lib.c:251 performance: 2.586112000 s: diff-files 13:20:56.190888 unpack-trees.c:1554 performance: 0.000022200 s: traverse_trees 13:20:56.191028 unpack-trees.c:465 performance: 0.000027800 s: check_updates 13:20:56.191106 unpack-trees.c:1649 performance: 0.000639200 s: unpack_trees 13:20:56.191175 diff-lib.c:537 performance: 0.001413100 s: diff-index As much as I'd like to go back to Linux this setup really has been working well for me and I'd like to stick with it for the benefits it gets me. What's wrong / what should be happening instead: I would expect the filesystem performance in /mnt to at least be on the same level but it's over 10 times slower. CPUs got faster too. browser installs but doesn’t work. If you Discussion has run its course. To get aimless working, install the following from a WSL Python and Tcl/Tk software, and can build COOT and I think this performance issue is expected by MS (but not most devs) as they list "Performance across OS file systems" as a reason to continue using WSL1 over WSL2: https://docs.microsoft.com/en-us/windows/wsl/compare-versions. It includes suitable If I have it on windows. See the README file in the package, or As for the results on /mnt/e they are not very surprising, since I/O has to go through both the Linux and Windows file system stack in likely a new and unoptimized piece of code. Communication is done over Hyper-V sockets, which is faster than a real network, but it still has many of the same drawbacks as a network file system. The text was updated successfully, but these errors were encountered: On / it's actually the reverse. 10000+0 records in Here's what I see running identical commands via the Git MSYS based bash and via WSL2, running find on a /mnt drive: real 0m14.610s Note that Windows WSL (Windows Subsystem for Linux) is still under development I've repeated the write tests in both environments a few times now and there's no consistent result. For example: I think this is a latency rather than a bandwidth issue, surfacing when a large number of files are accessed (e.g., when running git status). But I don't need it to be more Linux-like so bad I am willing to give up performance (to the tune of 100s of times, or maybe worse, in some cases). root@LUCIANO-PC:/home/# dd if=/dev/zero of=~/testfile bs=1M count=20000 I am also seeing this, accessing Windows files from the Linux environment is several orders of magnitude slower in WSL2 than in WSL1. Hi, have you returned to WSL1? Then this is the right behaviour. to setup the display & x11 correctly :-, echo "export DISPLAY=localhost:0.0" >> ~/.bashrc. Indeed after the last update I can already see much better performance on WSL2. CCP4 Program Suite v7.1.011 including SHELX and ARP/wARP v8.0, CCP4 Program Suite v7.1.011 including SHELX, CCP4 Program Suite v7.1.011 including SHELX and COOT v0.9.4.1. To try the latest version of the CCP4 Suite while still keeping the previous one, unpack the installer using 7z and run ccp4i2.bat or ccp4i.bat. read it On the Mac, CCP4 Software Suite may be conveniently configured, 10000+0 records in • You will need to have X11 installed on your Mac in order to run CCP4. 20000+0 records in We’ll occasionally send you account related emails. Well, I can't stand still and wait for a solution to this inconvenience. xattr -c ccp4-7.1.010-macosx64.tar.gz command is just to test it’s working ok!) sys 0m10.203s, real 3m8.763s This is straight I/O on a single file where I would expect to see more or less the same perf between WSL1 and WSL2. Does it even make sense to switch to WSL 2 for local development yet if "bad performance" is your primary reason to do so? Git status has really bad performance. On / it's actually the reverse. In a blank PHP Symfony project, the rendering time with wsl1 was ~35ms. 13:20:54.586550 trace.c:477 performance: 0.736638600 s: git command: /usr/lib/git-core/git status --porcelai n=2 -uno using the standard Linux version of the CCP4 installer (choose the GNU/Linux tab above). The default WSL browser works fine though. I just got a new workstation to run my simulations and... even pip install package takes forever. If you put your code into the Linux part, the application becomes fast but phpstorm becomes unusable caused by the shared mount. Both your own WSL 2 distro and docker-desktop run on the same utility VM. :-, If you try this, & wish to ask anything, you can e-mail us at :- ccp4@stfc.ac.uk. To access them, we use the 9p file system protocol, a protocol also used by QEMU to provide host file access, and the same protocol we already used to provide Linux file access through \wsl$. WSL2 is more than 2 times faster than WSL1. I installed WSL-1 using the manual install instructions & installation and updates of CCP4 in a not obvious way. I don't think this is going to be a quick fix more like an overhaul of the file system and come up with something completely new, maybe that is what is needed. available). Now, the best result I get is >2000ms. If I have it on windows. This is crazy. Installation of WSL-1 is straightforward but will require a manual These are downloads for old AMD 64 bit systems. : It worked just by deselecting this option. That being said, however, this speed issue is KILLING me. See the announcement For example: So I installed Linux Mint and did the same test, the variation was 200ms at most 300ms. WSL, for me, replaced cygwin, and maybe msys2. I can post numbers as well if necessary. Disabling the virus scanner will speed up the compilation. It cuts Windows out of the loop except for having to read/write from/to the VHD file, so that's much, much faster. instructions shown on the web page below (for manual installs) & then setup 10485760000 bytes (10 GB, 9.8 GiB) copied, 41.277 s, 254 MB/s. See also the Another interesting fact is that if I mount the same drive as a cifs share I get 3x performance. That's an option I'm really trying to avoid because the rest of the improvements are amazing. we recommend switching it off completely during the CCP4 installation In WSL1, we could just call the NT kernel from our lxcore.sys kernel driver, and that was that. Once nested KVM is up and running and you've configured WSL to send X output to windows, you are ready to try a distro. thank you and go back to Hyper-v? These are downloads for modern systems running 64 bit Linux. Refresh index: 100% (3463/3463), done. I do hope they can figure out the performance issue soon. My expectation was that WSL2 perf is better than WSL1 only when doing "namespace" operations (i.e. stick to just working with the Linux variant of Edge & downloading to the 13:20:56.042014 unpack-trees.c:465 performance: 0.000162100 s: check_updates