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
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to