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