Low Level Tools/2018Q3: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "== Nick == === Planned === rustc: Fix up and enable the MIR inlining pass. * 0% completed. rustc: land three changes that noticeably speed up compilation of one or more not...")
 
No edit summary
 
Line 21: Line 21:
* [https://github.com/rust-lang/rust/pull/54318 Reduced NLL peak memory by 14--45% on four rustc-perf benchmarks, and 96% on one external crate]!
* [https://github.com/rust-lang/rust/pull/54318 Reduced NLL peak memory by 14--45% on four rustc-perf benchmarks, and 96% on one external crate]!
* [https://github.com/rust-lang/rust/pull/54420 Reduced instruction counts on several by up to 16%, and max-rss by up to 38%; some of the benefit goes to NLL builds].
* [https://github.com/rust-lang/rust/pull/54420 Reduced instruction counts on several by up to 16%, and max-rss by up to 38%; some of the benefit goes to NLL builds].
* [https://github.com/rust-lang/rust/pull/54211 Reduced NLL peak memory by 20% on keccak].


Analyze two Rust-in-Firefox compilation workloads that Mozilla engineers     
Analyze two Rust-in-Firefox compilation workloads that Mozilla engineers     

Latest revision as of 05:52, 5 November 2018

Nick

Planned

rustc: Fix up and enable the MIR inlining pass.

  • 0% completed.

rustc: land three changes that noticeably speed up compilation of one or more notable programs with non-lexical lifetimes enabled.

Analyze two Rust-in-Firefox compilation workloads that Mozilla engineers complain about, to see where future Rust compilation speed efforts should focus.

  • 50% completed.
  • I analyzed Xidorn's scenario (touch stylist.rs and recompile).
    • I found sccache and incremental compilation interacted poorly, potentially slowing down this scenario by over 1 minute. Ted fixed this and released a new sccache version (0.2.7).
    • I identified that lld is 2--3x faster than the default linkers.
    • I communicated all this to dev-platform.

Unplanned

Hash table improvements:

DocShell/SessionHistory refactoring

  • I completed a bunch of bugs cleaning up this code to help with Project Fission.