Oh, yeah, to be clear I *vastly* prefer the "never break master" CI model, more pointing out that it has scaling issues that are tricky -- not impossible -- to deal with
I should also mention that MIR opts are nice but the low-hanging fruit has mostly already been picked here. Inlining, etc has not been the silver bullet people thought it might be.
-
-
They are most definitely not. For example rustc checks two discriminants when doing matches over (T, T) where all the arms repeat the same pattern twice (e.g. code like PartialEq::eq), which led me to write some stupid stuff in Servo.https://github.com/servo/servo/pull/19956 …
-
I’m sure we have plenty of peephole optimizations we can do. My point is that fixing that is not going to move the needle much on compile time. It’s whack-a-mole.
- 6 more replies
New conversation -
-
-
TBH if there’s any silver bullet it’ll probably be Cranelift. Aggressive alias analysis optimizations in MIR might help some too. Chalk is a (small) regression so far, right? I should note that compile time doesn’t really bug me these days with Pathfinder/WR work.
-
Something shaped like https://internals.rust-lang.org/t/interface-only-crate-type/9562 … likely represents a significant avenue for concurrency. Pipelined compilation via interface extraction has been demonstrated for a fewer other languages recently.
- 2 more replies
New conversation -
-
-
I'm thinking less inlining and more "piercing through redundant dataflow of 0-cost abstractions" but yes this will require a lot of cleverness
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.