Low Level Tools/2019Q2: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Nick ==
== Nick ==


[https://github.com/rust-lang/rust/issues/58465 rustc pipelining]: accept metadata as input for dependencies when producing an rlib.
=== [https://github.com/rust-lang/rust/issues/58465 rustc pipelining] ===
Implement "pipelined" rustc compilation (compiler side).
* 100% completed.
* [https://github.com/rust-lang/rust/pull/60190 Don't generate unnecessary rmeta files.] A precursor.
* [https://github.com/rust-lang/rust/pull/60190 Don't generate unnecessary rmeta files.] A precursor.
* [https://github.com/rust-lang/rust/pull/60006 In JSON output, emit a directive after metadata is generated.] The part that lets rustc tell Cargo when metadata has been written.
* [https://github.com/rust-lang/rust/pull/60006 In JSON output, emit a directive after metadata is generated.] The part that lets rustc tell Cargo when metadata has been written.
* [https://github.com/rust-lang/rust/pull/60385 Emit metadata files earlier.] So that significant crate overlapping can occur.
* [https://github.com/rust-lang/rust/issues/60988 Tracking issue for stabilizing "pipelined compilation"] has been opened.
* [https://groups.google.com/forum/#!topic/mozilla.dev.platform/bXB5QxAV-fE Announcement email to dev-platform]
* Speed-ups depend on program structure and configuration, but up to 1.84x has been observed.
* Speedups for opt builds of notable projects on my 14-core Linux box:
** webrender: 1.27x
** cranelift-codegen: 1.20x
** Firefox: 1.07x
** script-servo: 1.07x
** style-servo: 1.06x


Ship GWP.
=== Ship GWP ===
Ship GWP in Nightly.
* Renamed it PHC (Probabilistic Heap Checker).
* Landed prerequisites: {{Bug|1558365}}, {{Bug|1557907}}.


=== rustc perf ===
Land 5 changes that speed up or reduce peak memory usage of rustc.
Land 5 changes that speed up or reduce peak memory usage of rustc.
* 100%+ completed.
* [https://github.com/rust-lang/rust/pull/59693 Increase `Span` from 4 bytes to 8 bytes.] A big win across lots of workloads, especially larger crates: some <tt>script-servo</tt> builds are 15% faster.
* [https://github.com/rust-lang/rust/pull/59693 Increase `Span` from 4 bytes to 8 bytes.] A big win across lots of workloads, especially larger crates: some <tt>script-servo</tt> builds are 15% faster.
* [https://github.com/rust-lang/rust/pull/61253 Avoid `hygiene_data` lookups.] Up to 10% speed-up on packed-simd, up to 3% on numerous others.
* [https://github.com/rust-lang/rust/pull/61612 Special-case literals in `parse_bottom_expr`]. Up to 7% win on programs with large constants.
* [https://github.com/rust-lang/rust/pull/61484 Avoid more hygiene lookups.] Up to 2% speed-up on many benchmarks.
* [https://github.com/rust-lang/rust/pull/59626 Reduce the `DepNode` pre-allocation ratio.] Reduces peak memory use by 20 MiB on some workloads.
* [https://github.com/rust-lang/rust/pull/59626 Reduce the `DepNode` pre-allocation ratio.] Reduces peak memory use by 20 MiB on some workloads.
* [https://github.com/rust-lang/rust/pull/60630 Use `Symbol` more.] Up to 1% speed-up, as well as making the code nicer. Should also help with parallel rustc.
* [https://github.com/rust-lang/rust/pull/60630 Use `Symbol` more.] Up to 1% speed-up, as well as making the code nicer. Should also help with parallel rustc.
* [https://github.com/rust-lang/rust/pull/60815 Use `Symbol` even more.] Up to 1% speed-up. Should also help with parallel rustc.

Latest revision as of 02:10, 14 June 2019

Nick

rustc pipelining

Implement "pipelined" rustc compilation (compiler side).

Ship GWP

Ship GWP in Nightly.

rustc perf

Land 5 changes that speed up or reduce peak memory usage of rustc.