You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment we perform less well and we know it. In part because we compile all of the Rust code as a library to be used by C which prevents the compiler for creating inlines. When I looked at LTO and the like it only worked when it was a Rust binary with C libraries and we are the reverse. Has this changed?
We're working on doing LTO between C++ and Rust in Firefox and it works just fine to have a giant Rust library (staticlib) linked into C++. It doesn't work so well on win32 due to symbol mangling issues, which are getting addressed. It didn't work on osx due to rust-lang/rust#60235; while that issue is fixed in rust nightly, osx has some of the same symbol mangling issues that win32 does, so it's possible there's still work to be done there. We haven't tested on osx with a fixed rustc yet. (Note there's also rust-lang/rust#60059, which is somewhat of an compilation environment problem.)
Rust has now support for linker plugin LTO. So if we build C and Rust codes with the same version of LLVM cross-language optimizations are possible.
https://doc.rust-lang.org/rustc/linker-plugin-lto.html
I like this project very much, I think this can potentially improve performance greatly (especially in FFI boundary).
I think this project should post benchmarks to. Maybe performance can be one of the selling points here?
The text was updated successfully, but these errors were encountered: