You may already know that the Low-Level Tools team support important tools and
code infrastructure. Lately we’ve also been improving our rustc/clang (LLVM)
story and I’d like bring everyone up to date.
There are a lot of important and interesting things going on:
* Michael Woerister and Nathan Froyd recently (mid-March) enabled Rust
incremental compilation for Firefox developers
* Michael is experimenting with cross language inlining[1] (rustc/clang)
using LTO
* Preliminary results show compiling LLVM with clang and using LTO on
rustc improves stylo compilation time by around 15% [on-my-machine measurements]
* LTO requires more work to support Firefox
* Nick Nethercote has started speeding up rustc[2] and has already had a
number of wins
* David Major has got Windows clang builds working with green tests
* LTO is still buggy (but works well enough to run benchmarks) and PGO
won’t run on Windows
* Win32 - clang with LTO w/o PGO is marginally faster than MSVC with
LTO/PGO
* Win64 - clang with LTO w/o PGO is ~5-10% slower than MSVC with LTO/PGO
* Windows users can build locally with clang[3]
* Mike Hommey is tracking improvements and regressions in the Rust compiler
(performance regression[4], crash reporting[5] and more crash reporting[6])
* Tom Tromey is continuing to work on first class Rust support in GDB and
LLDB
Note: this a summary of things rustc/clang stuff that is happening only.
Ultimately, I’d like to see us standardise on clang on all platforms because it
makes Rust/C++ integration better as well as making things simpler for
developers and build system maintainers. We’ll get more done if we make our own
lives simpler.
I have some specific requests for you:
Let me know if you have specific Firefox related cases where Rust is
slowing you down (thanks Jeff [7])
Cross language inlining is coming - avoid duplication between Rust and C++
in the name of performance
Do developer builds with clang
Anthony
[1] https://github.com/rust-lang/rust/issues/49879
[2]
https://blog.mozilla.org/nnethercote/2018/04/30/how-to-speed-up-the-rust-compiler-in-2018/
[3]
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Building_Firefox_on_Windows_with_clang-cl
[4] https://github.com/rust-lang/rust/issues/49873
[5] https://bugzilla.mozilla.org/show_bug.cgi?id=1456150
[6] https://bugzilla.mozilla.org/show_bug.cgi?id=1448868
[7] https://github.com/rust-lang/rust/issues/50584
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform