rustc_mir: handle all aggregate kinds in, and always run, the deaggregator. by eddyb · Pull Request #48052 · rust-lang/rust (original) (raw)
So @eddyb and I discussed the deep-vector
slowdown over IRC. They are hoping that they can remove it by altering the structure of MIR in various ways to make it more efficient -- e.g., to simplify places, and hence flatten statements so that they don't require allocation.
My current feeling is that we should insert a threshold check for now so that deep-vector doesn't regress, and then re-evaluate as we make those changes. If we have to swallow a compilation time hit on this use case, so be it, but I'd rather wait until later.
Also, I'd like to see some perf benchmarks covering big constants that are not vec![]
(e.g., &[...]
, include!
, etc). Not sure if we have those.
cc @rust-lang/compiler -- thoughts?