You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Being able to use async where relevant across the codebase makes it possible to use async constructs where relevant. rustup has many places where that can be useful: downloading channel metadata, distribution content, unpacking that content to disk, are work that could usefully proceed in parallel - and async provides a good abstraction for that.
We already have a sophisticated disk IO layer that accomodates various OS latency-inducing behaviours, and adapting that to async without any regressions could be very interesting too - but for now, it co-exists nicely with an async core. #3367
We are still using an async-unaware threadpool here, and it's known to produce problems (#3125):
IMO the code we have for this looks very complicated/scary. Rewriting it looks like a project, would probably be hard to know if we bring over all the desired properties. async could be helpful but won't make this easy by itself IMO.
We are still using an async-unaware threadpool here, and it's known to produce problems (#3125):
rustup/src/diskio/threaded.rs
Lines 1 to 6 in fa4ae32
Anyway, using
RUSTUP_IO_THREADS=1
to limit concurrency feels a bit off. Will migrating toasync
help?The text was updated successfully, but these errors were encountered: