Meeting summary: 2018.08.07 (dropbox paper link)
Hi everyone! Sorry for not posting a summary in a while. In between travels and other things, we kind of failed to keep up. But I’m back now!
First off, a big thank you to all the active and wonderful members of WG-compiler-nll thus far. We managed to meet all of our Edition Preview 2 goals and then some by the deadline, and I’m quite excited about that. I’d like to give a particular shout out to @davidtwco, @lqd, @matthewjasper, and @spastorino, all of whom have been tirelessly fixing bug after bug (just scroll down through previous weeks in the dropbox paper to see what I mean!)
I think the main focus for the Release Candidate is going to be correctness, with performance and diagnostics as a close second. We’ve already done one crater run, and we fixed almost everything we found (there are three issues left, see below). One of my big priorities is to do another crater run as well as to start having the compiler bootstrap using NLL.
In general, our performance results are looking pretty good, though more work is needed. We compared the performance for most crates and at this point we are looking at about 15% overhead or less for
cargo check, basically across the board (note that
cargo check just does type-checking and borrow-checking, so it accentuates any performance slowdown). As always, you can see the latest results on the NLL dashboard – note though that the versions of crates tested there tend to be older, and in particular they were chosen because they gave us trouble in the past (not to say we won’t optimize them!).
How can I help?
If you’d like to help out, the list of [NLL milestone issues is here](is:open is:issue milestone:“Rust 2018 RC” label:WG-compiler-nll). Here are a few issues I want to call attention to as being particularly high priority:
- Final regressions from previous perf run:
#53123 — regression with where &'a T: Sized in scope
#53121 — regression in outlives relationships in shred (hard-ish)
#53171 — do another crater run and catalog results
#53172 — add #![feature(nll)] to the compiler crates, stdlib, etc
#44844 — help us migrate compile-fail tests to ui tests! UI tests are better compared for consistency etc.
#53159 — faster way to identify borrows in scope
#52460 — performance experiment: invert liveness computation
#53176 — optimize redundant borrows