Testing Cargo's parallel downloads


#1

Hey all! Cargo has recently gained the ability to download crates in parallel rather than the old one-at-a-time strategy. In addition to having a refreshed display when downloading crates Cargo should now be much faster by default when it’s downloading crates.

Support was also added at the same time for downloading crates over HTTP/2 instead of plain old HTTP. The static.crates.io CDN (where you download crate files from) supports HTTP/2 but unfortunately the API server, crates.io does not (yet). HTTP/2 support is disabled by default, however, while we evaluate it for inclusion.

To that end, we’re curious to get some testing of this feature! Try out a cargo fetch with today’s latest nightly and let us know how it went. You can remove $CARGO_HOME/registry/{cache,src} to force Cargo to redownload crates if you’re looking to test.

Cargo will by default use parallel HTTP/1.1 downloads now, but you can also specify CARGO_HTTP_MULTIPLEXING=true to enable HTTP/2. Let us know how it goes and please feel free to report bugs!


#2

Would you be open to having both the new one-line status as well as the old line-per-crate output when downloading crates? That would be consistent with the output during compilation which shows overall status but also a scrolling one line per crate. I appreciated being able to see what crate versions I am pulling in that I hadn’t ever used before.


#3

Certainly!