You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
The compiler with debug assertions is really slow #121110
The compiler compiled with debug assertions has gotten really slow recently. For example, compiling the standard library takes way longer than it used to.
This is bad, it makes it way harder to work on rustc.
This is probably because of the recent changes to assert_unsafe_precondition. It contains a cfg(bootstrap) hack for debug_assertions() that's not inlined. Additionally, it outlines the predicate, which is super slow as well. Fixing the former is easy, fixing the latter is harder and requires adding #[inline(not_the_mir_inliner)].
turns out this was caused by many different factors compounding in an unfortunate way :D
oli's intrinsic changes outlining some important functions, and the unsafe preconditions being quite bad for runtime performance
Activity
[-]Compile with debug assertions is really slow[/-][+]The compiler with debug assertions is really slow[/+]Noratrieb commentedon Feb 14, 2024
This is probably because of the recent changes to
assert_unsafe_precondition. It contains a cfg(bootstrap) hack fordebug_assertions()that's not inlined. Additionally, it outlines the predicate, which is super slow as well. Fixing the former is easy, fixing the latter is harder and requires adding#[inline(not_the_mir_inliner)].Auto merge of rust-lang#121114 - Nilstrieb:no-inline!, r=<try>
Rollup merge of rust-lang#121196 - Nilstrieb:the-clever-solution, r=s…
Rollup merge of rust-lang#121196 - Nilstrieb:the-clever-solution, r=s…
Rollup merge of rust-lang#121196 - Nilstrieb:the-clever-solution, r=s…
Unrolled build for rust-lang#121196
Noratrieb commentedon Feb 20, 2024
turns out this was caused by many different factors compounding in an unfortunate way :D
oli's intrinsic changes outlining some important functions, and the unsafe preconditions being quite bad for runtime performance
Auto merge of rust-lang#121114 - Nilstrieb:no-inline!, r=<try>
Auto merge of rust-lang#121114 - Nilstrieb:no-inline!, r=saethlin