Based on my profiling, it seems like the code gen backend (LLVM) is a big offender. A code generator optimized for build times would be nice. (Cranelift seems to be a failure in that regard.)
C++ has an explicit template instantiation feature which helps reduce backend time. I wonder if this can be done in Rust too. Maybe this is what -Zshare-generics=y is for?
And did you try any of the optimization strategies again at 24x? I would be curious if there are differences there.
Are you talking about run-time optimizations? My article is focused on build times. I don't think what you mentioned applies to build times. I could be wrong, though. (There are certainly compile time traps you can fall into, but I wouldn't know what those are in Rust.)
> And did you try any of the optimization strategies again at 24x? I would be curious if there are differences there.
No, I did not. That's a good suggestion. But I was pretty tired of this project by the time I made the scaling benchmarks. xD
And I totally understand being tired of it by that point. You did an extremely detailed and well documented process, and it was quite impressive. Thank you for sharing it.
It's easy to claim to be fast when you're extremely early on, we'll see how that holds up.