Note that it is very program dependent, a friend got a 30% improvement on a very specialized numerical simulation.
Note that it is very program dependent, a friend got a 30% improvement on a very specialized numerical simulation.
Even a 5% speed increase is nothing to discount give that it's "free" once they have LLVM handling it correctly. I agree with the conclusion that if you have to manage the aliasing manually it's very limited in scenarios where you would want to deploy that given the failure modes of getting it wrong.
For now, it should be part of the next release (1.54).
It was originally slated for 1.53, but then a new miscompilation was discovered during the 1.53 release cycle, so it stayed off.
The thing that disables it is interior mutability- types like `Mutex` or `Cell` that can be mutated through shared references fall back to something like C without TBAA.