-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Remove inlines from DepNode code #64850
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.