3 ms·
> Not sure if that's still true, but at the time it seems Fortran was a more restrictive language which permitted stronger optimization. There is no aliasing i
by electricslpnsld 8y ago
> Not sure if that's still true, but at the time it seems Fortran was a more restrictive language which permitted stronger optimization.
There is no aliasing in Fortran. In C (and using compiler extensions in C++) you manually use restrict to give the same information to the compiler, but it is a trickier process than in Fortran. Rust inherits this benefit from Fortran, but last I checked they had all related optimizations disabled (and most numerical computing friendly features in Rust tend to be on the back burner).
- johncolanduoni 8y agoThat was due to a bug in LLVM when noalias was used in conjunction with LLVM’s stack unwinding facilities. It’s since been re-enabled now that the upstream bug has been fixed: https://github.com/rust-lang/rust/pull/50744 https://github.com/rust-lang/rust/pull/50744
- cesarb 8y ago> It’s since been re-enabled It's since been disabled again, due to a new bug (which was also reproduced in C, on both LLVM and GCC): https://github.com/rust-lang/rust/issues/54878 https://github.com/rust-lang/rust/issues/54878
- steveklabnik 8y ago> most numerical computing friendly features in Rust tend to be on the back burner Yes and no, we’ve been working on underlying stuff that will be needed in order to ship those features, and while a roadmap for next year has not been decided, most believe it will be a major component.
- ballenarosada 8y agoAnything in particular you would highlight? I've been following const generics development, but other than that I'm not too clued in. Thanks!
- steveklabnik 8y agoWe accepted an RFC for integer generics, but it needed same the underlying work that const generics needed.