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 upCall skolemize_late_bound_regions only after fast rejection #24615
Conversation
rust-highfive
assigned
alexcrichton
Apr 19, 2015
This comment has been minimized.
This comment has been minimized.
|
(rust_highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
|
(not super familiar with this code) |
rust-highfive
assigned
nikomatsakis
and unassigned
alexcrichton
Apr 20, 2015
This comment has been minimized.
This comment has been minimized.
|
also cc @pnkfelix |
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
Apr 23, 2015
This comment has been minimized.
This comment has been minimized.
bors
merged commit 94a1b26
into
rust-lang:master
Apr 23, 2015
This comment has been minimized.
This comment has been minimized.
|
Sweet wins! |
nikomatsakis
referenced this pull request
Jun 2, 2015
Closed
Passing a `Fn` to an `fn` now requires explicit lifetimes for the `Fn` and all references passed to it when invoked #25310
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.
arielb1 commentedApr 19, 2015
skolemize_late_bound_regions essentially copies the entire type (most of the times it shouldn't, but it does), and match_impl runs millions of times.
Times compiling rustc, tested with
$ make -j4 rustc-stage1
$ ( time RUSTFLAGS=-Z time-passes make -j4 rustc-stage2 ) # need LLVM time for calibration
Before:
real 21m44.960s
user 29m38.812s
sys 0m14.944s
After:
real 19m31.445s
user 26m47.260s
sys 0m14.952s
Making this is a 10% performance improvement.
LLVM passes took 867 seconds before, 862 seconds after.