Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upLazily download packages #2406
Conversation
alexcrichton
added some commits
Feb 19, 2016
rust-highfive
assigned
huonw
Feb 22, 2016
This comment has been minimized.
This comment has been minimized.
|
r? @brson |
rust-highfive
assigned
brson
and unassigned
huonw
Feb 22, 2016
This comment has been minimized.
This comment has been minimized.
rust-highfive
commented
Feb 22, 2016
|
r? @huonw (rust_highfive has picked a reviewer for you, use r? to override) |
alexcrichton
force-pushed the
alexcrichton:download-less
branch
from
b63312b
to
f994592
Feb 26, 2016
This comment has been minimized.
This comment has been minimized.
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 29, 2016
This comment has been minimized.
This comment has been minimized.
|
|
bors
merged commit f994592
into
rust-lang:master
Feb 29, 2016
This was referenced Feb 29, 2016
alexcrichton
deleted the
alexcrichton:download-less
branch
Feb 29, 2016
alexcrichton
added
the
relnotes
label
Mar 10, 2016
alexcrichton
referenced this pull request
Mar 12, 2018
Closed
[wip] Download crates in parallel #5161
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
alexcrichton commentedFeb 22, 2016
Currently Cargo will download an entire resolution graph all at once when in fact most packages may not be relevant to a compilation. For example target-specific dependencies and dev-dependencies are unconditionally downloaded regardless of whether they're actually needed or not.
This commit alters the internals of Cargo to avoid downloading everything immediately and just switches to lazily downloading packages. This involved adding a new
LazyCellprimitive (similar to the one in use on crates.io) and also propagatesCargoResultin a few more locations.Overall this ended up being a pretty large refactoring so the commits are separated in bite-sized chunks as much as possible with the end goal being this PR itself.
Closes #2394