-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Remove inlines from DepNode code #64850
Conversation
@bors try @rust-timer queue Let's also get perf stats to see if this is a compile time regression (though I would be surprised). |
Awaiting bors try build completion |
Remove duplicate DepNode::new Locally this shaves off about 3 seconds of compile time for librustc, which while not much, is something for a simple PR like this. Code is merely duplicated up from the main `DepNode::new` body. Across 3 runs for each branch I obtained these times for compiling librustc: master: 286.244, 285.208, 303.577 this branch: 282.175, 281.891, 282.968 r? @michaelwoerister
☀️ Try build successful - checks-azure |
Queued 450cce3 with parent a37fe2d, future comparison URL. |
Finished benchmarking try commit 450cce3, comparison URL. |
I'd like to see what happens if we just remove |
d3bc8d0
to
4857ee8
Compare
@bors try @rust-timer queue Let's get this kicked off as well... I've tried blanket removing inline from the dep_node module. |
Awaiting bors try build completion |
⌛ Trying commit 4857ee89d91d1b1cd96a071d9619cb24ebdc2cb6 with merge ddb12b8f1a4657e131bbab0b05082486df133247... |
4857ee8
to
4107eda
Compare
@bors retry |
@bors try |
⌛ Trying commit 4107eda9350b9411a1768481da630ce245993b5a with merge 27680516ab5a239dfbc056ead5365098dff635dd... |
☀️ Try build successful - checks-azure |
Queued 27680516ab5a239dfbc056ead5365098dff635dd with parent 22bc9e1, future comparison URL. |
Finished benchmarking try commit 27680516ab5a239dfbc056ead5365098dff635dd, comparison URL. |
The comparison doesn't show anything for me. I think we should also mark the following functions as
|
Compare pages are a bit slower to render, I usually need to wait 1-2 seconds I think these days. It's on my todo list :) I'll investigate const fn for those; I sort of expect it won't be possible -- I thought |
I thought MIRI would take care of those but apparently not yet. |
I think I confirmed all of these can't be const fn due to insufficient work on const fn; miri probably can evaluate these but we haven't pushed that support into rustc const eval proper just yet. |
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 think I confirmed all of these can't be const fn due to insufficient work on const fn; miri probably can evaluate these but we haven't pushed that support into rustc const eval proper just yet.
That's a pity because almost all invocations have constant parameters. In the future maybe.
Thanks for the PR, @Mark-Simulacrum! r=me with the indentation fixed.
src/librustc/dep_graph/dep_node.rs
Outdated
!dep_node.kind.can_reconstruct_query_key() && | ||
#[cfg(debug_assertions)] | ||
{ | ||
if !dep_node.kind.can_reconstruct_query_key() && |
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.
Indent please.
src/librustc/dep_graph/dep_node.rs
Outdated
!dep_node.kind.can_reconstruct_query_key() && | ||
#[cfg(debug_assertions)] | ||
{ | ||
if !dep_node.kind.can_reconstruct_query_key() && |
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.
This too.
4107eda
to
675ed48
Compare
@bors r=michaelwoerister Yeah, it is a bit unfortunate. |
📌 Commit 675ed48 has been approved by |
…ichaelwoerister Remove inlines from DepNode code
Rollup of 13 pull requests Successful merges: - #64581 (Fix unreachable_code warnings for try{} block ok-wrapped expressions) - #64850 (Remove inlines from DepNode code) - #64914 (regression test for 64453 borrow check error.) - #64922 (Use PlaceBuilder to avoid a lot of slice -> vec -> slice convertions) - #64948 (Improve sidebar styling to make its integration easier) - #64961 (Make comment about dummy type a bit more clear) - #64967 (Don't mark borrows of zero-sized arrays as indirectly mutable) - #64973 (Fix typo while setting `compile-flags` in test) - #64980 (Enable support for `IndirectlyMutableLocals` in `rustc_peek` ) - #64989 (Fix ICE #64964) - #64991 ([const-prop] Correctly handle locals that can't be propagated) - #64995 (Remove rustdoc warning) - #64997 (rustc book: nitpick SLP vectorization) Failed merges: r? @ghost
No description provided.