-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[do not merge] Benchmark ignoring span hashes during incr. comp. for getting a lower bound for #47389 #56287
[do not merge] Benchmark ignoring span hashes during incr. comp. for getting a lower bound for #47389 #56287
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
@bors try |
[do not merge] Benchmark ignoring span hashes during incr. comp. for getting a lower bound for #47389 I figured that ignoring changes to span values might give a useful lower bound on compile times with the optimizations described in #47389 applied. Keep in mind that any improvements shown with this PR could only be achieved if we could update object files in place, which would be the "stretch goal" for #47389.
@rust-timer build 5280d23 |
Success: Queued 5280d23 with parent 10e2c72, comparison URL. |
src/librustc/ich/hcx.rs
Outdated
@@ -320,7 +320,7 @@ impl<'a> HashStable<StableHashingContext<'a>> for Span { | |||
const TAG_EXPANSION: u8 = 0; | |||
const TAG_NO_EXPANSION: u8 = 1; | |||
|
|||
if !hcx.hash_spans { | |||
if !hcx.hash_spans && false { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this should be
if !hcx.hash_spans && false { | |
if !hcx.hash_spans || true { |
Right now it doesn't ever do an early-return.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, crap :)
That's what you get when you do a PR right before going home...
☀️ Test successful - status-travis |
Finished benchmarking try commit 5280d23 |
135e763
to
aa8957e
Compare
@bors try |
⌛ Trying commit aa8957e with merge 54d813038fd30724af29a1c438cda175a67ee4dc... |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
☀️ Test successful - status-travis |
@rust-timer build 54d813038fd30724af29a1c438cda175a67ee4dc |
Success: Queued 54d813038fd30724af29a1c438cda175a67ee4dc with parent b68fc18, comparison URL. |
Finished benchmarking try commit 54d813038fd30724af29a1c438cda175a67ee4dc |
So it looks like there is quite a bit of potential for speeding up re-compilation after small changes. The cc @rust-lang/wg-compiler-performance |
Reported the results in the original issue (#47389). Closing. |
I figured that ignoring changes to span values might give a useful lower bound on compile times with the optimizations described in #47389 applied. Keep in mind that any improvements shown with this PR could only be achieved if we could update object files in place, which would be the "stretch goal" for #47389.