rustup: rustup is still slow under WSL
Problem We forgot about WSL when making the threading code OS specific.
Steps
- Run rustup in WSL on Windows 10 (a WSL backed to an NTFS volume)
Possible Solution(s) Perhaps thread always? Or perhaps try to detect WSL?
Notes
Output of rustup --version:
Output of rustup show:
About this issue
- Original URL
- State: open
- Created 5 years ago
- Reactions: 1
- Comments: 15 (14 by maintainers)
Commits related to this issue
- Enable threaded closing on all platforms. Set RUSTUP_CLOSE_THREADS=disabled to force single threaded IO, or to a specific number if desired for testing/tuning. This may improve #1867, but has no imp... — committed to rbtcollins/rustup.rs by rbtcollins 5 years ago
- Enable threaded closing on all platforms. Set RUSTUP_CLOSE_THREADS=disabled to force single threaded IO, or to a specific number if desired for testing/tuning. This may improve #1867, but has no imp... — committed to rbtcollins/rustup.rs by rbtcollins 5 years ago
- Enable threaded closing on all platforms. Set RUSTUP_CLOSE_THREADS=disabled to force single threaded IO, or to a specific number if desired for testing/tuning. This may improve #1867, but has no imp... — committed to rbtcollins/rustup.rs by rbtcollins 5 years ago
- Enable threaded closing on all platforms. Set RUSTUP_CLOSE_THREADS=disabled to force single threaded IO, or to a specific number if desired for testing/tuning. This may improve #1867, but has no imp... — committed to rbtcollins/rustup.rs by rbtcollins 5 years ago
- Enable threaded closing on all platforms. Set RUSTUP_CLOSE_THREADS=disabled to force single threaded IO, or to a specific number if desired for testing/tuning. This may improve #1867, but has no imp... — committed to rbtcollins/rustup.rs by rbtcollins 5 years ago
So the model I now have is:
Things we haven’t modelled:
Possible workarounds to try:
First experiment, enabling threads under WSL was entertaining. Made no impact. Something in LXCORE.SYS appears to be serialising all IO. Hah. Hah. Hah. Probably this is one of the drivers for WSL2…
So one option is we could include the
unamecrate if we don’t already, and then useuname::uname()?.release.find("Microsoft")to detect WSL.Alternatively we just enable threading for closes always – I would like us to have a more robust limit on open handles at that point, (perhaps limited queue length would be sufficient?)