Stream: t-compiler/wg-nll

Topic: weekly meeting August 21


pnkfelix (Aug 21 2018 at 19:30, on Zulip):

Hey @nikomatsakis are you able to run the meeting tonight?

nikomatsakis (Aug 21 2018 at 19:30, on Zulip):

yes

nikomatsakis (Aug 21 2018 at 19:30, on Zulip):

just finishing up a call, be there soon

Santiago Pastorino (Aug 21 2018 at 19:31, on Zulip):

hey everyone :)

davidtwco (Aug 21 2018 at 19:31, on Zulip):

o/

lqd (Aug 21 2018 at 19:32, on Zulip):

o/ hey everyone :D (I'm back from vacation :)

nikomatsakis (Aug 21 2018 at 19:34, on Zulip):

ok, I'm here

lqd (Aug 21 2018 at 19:35, on Zulip):

how good was rustconf ? :D (from twitter it looked awesome)

Santiago Pastorino (Aug 21 2018 at 19:36, on Zulip):

was pretty nice from my point of view :)

nikomatsakis (Aug 21 2018 at 19:36, on Zulip):

Rustconf was great :)

nikomatsakis (Aug 21 2018 at 19:36, on Zulip):

felt like a big shift from last year to me

Santiago Pastorino (Aug 21 2018 at 19:36, on Zulip):

one of the best things is that there were 3 times more sponsors

Santiago Pastorino (Aug 21 2018 at 19:36, on Zulip):

big names

Santiago Pastorino (Aug 21 2018 at 19:36, on Zulip):

a lot of new people

nikomatsakis (Aug 21 2018 at 19:37, on Zulip):

yeah, a large, clear step away from "hobbyist lang" to "work lang", which is exciting

Santiago Pastorino (Aug 21 2018 at 19:37, on Zulip):

a lot of Googlers talking about Fuchsia

nikomatsakis (Aug 21 2018 at 19:37, on Zulip):

NLL triage doc link, btw

Santiago Pastorino (Aug 21 2018 at 19:37, on Zulip):

yes

lqd (Aug 21 2018 at 19:37, on Zulip):

awesome

Santiago Pastorino (Aug 21 2018 at 19:37, on Zulip):

even Disney is powering Obama and Trump bots with Rust lang :)

nikomatsakis (Aug 21 2018 at 19:38, on Zulip):

:)

nikomatsakis (Aug 21 2018 at 19:38, on Zulip):

so, on the topic of NLL...

nikomatsakis (Aug 21 2018 at 19:38, on Zulip):

I did not get as far through triage as I wanted to by the time of this meeting but

pnkfelix (Aug 21 2018 at 19:38, on Zulip):

oh lets not forget to actually ping, right?

pnkfelix (Aug 21 2018 at 19:39, on Zulip):

@WG-compiler-nll weekly mtg

nikomatsakis (Aug 21 2018 at 19:39, on Zulip):

I wanted to talk a bit meta about how to prioritize and our sense of where things are

memoryruins (Aug 21 2018 at 19:39, on Zulip):

:wave:

pnkfelix (Aug 21 2018 at 19:40, on Zulip):

even Disney is powering Obama and Trump bots with Rust lang :)

/me assumes this means the "Hall of Presidents", and not twitter bots

nikomatsakis (Aug 21 2018 at 19:40, on Zulip):

seems like:

nikomatsakis (Aug 21 2018 at 19:40, on Zulip):
Santiago Pastorino (Aug 21 2018 at 19:41, on Zulip):

even Disney is powering Obama and Trump bots with Rust lang :)

/me assumes this means the "Hall of Presidents", and not twitter bots

they are doing even more things, last message from RustConf, sorry for interrupting again, it was so exciting to hear all this :P

nikomatsakis (Aug 21 2018 at 19:41, on Zulip):
nikomatsakis (Aug 21 2018 at 19:41, on Zulip):

maybe @davidtwco or @Matthew Jasper, if they are around, can summarize?

pnkfelix (Aug 21 2018 at 19:42, on Zulip):

we'll probably need a third round of .nll.stderr comparisons now that compile-fail has been migrated to ui/

nikomatsakis (Aug 21 2018 at 19:42, on Zulip):

what is the status from the last one?

pnkfelix (Aug 21 2018 at 19:42, on Zulip):

(And also, we still need to make a compare-mode=nll that applies to run-pass/, right?)

nikomatsakis (Aug 21 2018 at 19:42, on Zulip):

hmm yes

nikomatsakis (Aug 21 2018 at 19:42, on Zulip):

I wonder if we can just turn on compare-mode=migrate for run-pass

nikomatsakis (Aug 21 2018 at 19:42, on Zulip):

well I guess we still want to test the old mode

pnkfelix (Aug 21 2018 at 19:43, on Zulip):

what is the status from the last one?

i think its this: https://github.com/rust-lang/rust/issues/52663#issuecomment-410382451

davidtwco (Aug 21 2018 at 19:43, on Zulip):

I've not had a chance to do much this week, so I don't know what improvements have been made recently w/r/t diagnostics.

Matthew Jasper (Aug 21 2018 at 19:43, on Zulip):

Overall we're probably slightly better than AST. It's mostly a matter of tweaking diagnostics.

nikomatsakis (Aug 21 2018 at 19:44, on Zulip):

it's a bit hard to tell how to best organize these sorts of things

Matthew Jasper (Aug 21 2018 at 19:44, on Zulip):

The one big thing to do is improve "this borrow must outlive FREE REGION" note.

nikomatsakis (Aug 21 2018 at 19:44, on Zulip):

yeah, I think I filed an issue on that specifically

Matthew Jasper (Aug 21 2018 at 19:45, on Zulip):

Move errors could also do with a little bit of love to bring them up to the quality of "cannot mutate" errors

nikomatsakis (Aug 21 2018 at 19:46, on Zulip):

ok so

nikomatsakis (Aug 21 2018 at 19:46, on Zulip):

do we think the best way to proceed is to do the detailed comparison

nikomatsakis (Aug 21 2018 at 19:47, on Zulip):

and keep the "meta issue" format that @pnkfelix was using?

nikomatsakis (Aug 21 2018 at 19:47, on Zulip):

seems to be working reasonably well?

pnkfelix (Aug 21 2018 at 19:47, on Zulip):

better than paper docs, I think

pnkfelix (Aug 21 2018 at 19:47, on Zulip):

(which is somewhat surprising. But I guess paper docs are harder to link / integrate with the repo)

nikomatsakis (Aug 21 2018 at 19:48, on Zulip):

this list of milestone issues is a bit overwhelming

nikomatsakis (Aug 21 2018 at 19:48, on Zulip):

so I'm partly trying to decide what to do with it

nikomatsakis (Aug 21 2018 at 19:48, on Zulip):

I think top priority is presumably going to be the NLL-complete sort of things

nikomatsakis (Aug 21 2018 at 19:49, on Zulip):

I think we should finish up our current round of perf tweaks, probably?

lqd (Aug 21 2018 at 19:50, on Zulip):

(I remember a couple issues for work that's been done, I've commented on them but did not close them just in case)

nikomatsakis (Aug 21 2018 at 19:50, on Zulip):

ok I closed some

lqd (Aug 21 2018 at 19:50, on Zulip):

those perf tweaks look super good

nikomatsakis (Aug 21 2018 at 19:50, on Zulip):

I guess what I can do...

nikomatsakis (Aug 21 2018 at 19:51, on Zulip):

...try to summarize current status of perf tweaks into a list

nikomatsakis (Aug 21 2018 at 19:51, on Zulip):

and pull out the NLL-complete items

nikomatsakis (Aug 21 2018 at 19:51, on Zulip):

try to go through and figure out the "general problem" in each case

lqd (Aug 21 2018 at 19:55, on Zulip):

I guess there's nothing after RC ?

lqd (Aug 21 2018 at 19:55, on Zulip):

that is, is it our last milestone and we should finish all these ? :)

pnkfelix (Aug 21 2018 at 19:55, on Zulip):

i thought there was

pnkfelix (Aug 21 2018 at 19:55, on Zulip):

(stuff after RC)

pnkfelix (Aug 21 2018 at 19:56, on Zulip):

/me looks

nikomatsakis (Aug 21 2018 at 19:56, on Zulip):

there is stuff after RC

nikomatsakis (Aug 21 2018 at 19:56, on Zulip):

in particular there is a RC 2

nikomatsakis (Aug 21 2018 at 19:56, on Zulip):

and then final Rust 2018 release

nikomatsakis (Aug 21 2018 at 19:56, on Zulip):

https://github.com/rust-lang/rust/milestones/

lqd (Aug 21 2018 at 19:56, on Zulip):

yay :p

nikomatsakis (Aug 21 2018 at 19:56, on Zulip):

I'm looking over the list of issues a bit now

pnkfelix (Aug 21 2018 at 19:56, on Zulip):

interesting we don't have anything for NLL tagged with RC 2

pnkfelix (Aug 21 2018 at 19:56, on Zulip):

probably need to retriage?

nikomatsakis (Aug 21 2018 at 19:57, on Zulip):

seems like @lqd we can mark https://github.com/rust-lang/rust/issues/53171 as closed

nikomatsakis (Aug 21 2018 at 19:57, on Zulip):

interesting we don't have anything for NLL tagged with RC 2

I think I didn't put anythign there because

lqd (Aug 21 2018 at 19:57, on Zulip):

:thumbs_up:

nikomatsakis (Aug 21 2018 at 19:57, on Zulip):

when triaging it was usually like "either this is far future" (in which case I did Release)

nikomatsakis (Aug 21 2018 at 19:57, on Zulip):

or it is "now" (EP2) or "next" (RC)

pnkfelix (Aug 21 2018 at 19:57, on Zulip):

or "this is a fire we have to put out ASAP", yeah I follow

nikomatsakis (Aug 21 2018 at 19:57, on Zulip):

I guess we'll start populating it a bit now, we should probably look over the Rust 2018 Release too

pnkfelix (Aug 21 2018 at 19:58, on Zulip):

still, some of the "far future" things could probably percolate backward

lqd (Aug 21 2018 at 19:59, on Zulip):

there's a least 4-5 being worked on or with opened PRs

lqd (Aug 21 2018 at 19:59, on Zulip):

maybe Wesley's PR dropping html5ever's memory usage by 50% could be enough to close the "memory intensive" issue as well

nikomatsakis (Aug 21 2018 at 19:59, on Zulip):

which PR is that?

nikomatsakis (Aug 21 2018 at 20:00, on Zulip):

oh, I think I know the one, the 'static one?

lqd (Aug 21 2018 at 20:00, on Zulip):

SCC + 'static

nikomatsakis (Aug 21 2018 at 20:00, on Zulip):

that's nice, I didn't predict that outcome, but it makes sense

nikomatsakis (Aug 21 2018 at 20:00, on Zulip):

I agree that would be enough

nikomatsakis (Aug 21 2018 at 20:00, on Zulip):

too bad that html5ever is not currently showing up in perf

lqd (Aug 21 2018 at 20:00, on Zulip):

IIRC cargo uses 1G for example

lqd (Aug 21 2018 at 20:00, on Zulip):

yeah

lqd (Aug 21 2018 at 20:00, on Zulip):

it's true that AST borrowck uses less than MIR on html5ever but still :)

nikomatsakis (Aug 21 2018 at 20:00, on Zulip):

it doesn't have to be perfect

lqd (Aug 21 2018 at 20:01, on Zulip):

and we can still improve it afterwards, it's not like we have to use more memory in the future

nikomatsakis (Aug 21 2018 at 20:01, on Zulip):

I think re: perf that I would like to see vast majority under 10% and everything under 20%. I wonder if that is achievable :)

nikomatsakis (Aug 21 2018 at 20:01, on Zulip):

feels within reach

nikomatsakis (Aug 21 2018 at 20:01, on Zulip):

tbh at this point I'm optimizing as much for "PR" as anything

Matthew Jasper (Aug 21 2018 at 20:01, on Zulip):

It's a lot closer than it was a month ago

nikomatsakis (Aug 21 2018 at 20:02, on Zulip):

that is, I don't want it to become a meme that rustc got even slower or something

lqd (Aug 21 2018 at 20:02, on Zulip):

would be cool to have transient/lightweight benches for up-to-date crates

nikomatsakis (Aug 21 2018 at 20:02, on Zulip):

of course best way to achieve that is for it not to be true :P

nikomatsakis (Aug 21 2018 at 20:02, on Zulip):

yes, it seems like we should remeasure the master crates

lqd (Aug 21 2018 at 20:02, on Zulip):

as the modern versions have better perf ofc

nikomatsakis (Aug 21 2018 at 20:02, on Zulip):

it'd also be nice to draw up a graph showing the improvements over time

nikomatsakis (Aug 21 2018 at 20:02, on Zulip):

the existing summayr graphs are confusing

nikomatsakis (Aug 21 2018 at 20:02, on Zulip):

because new tests are added etc

nikomatsakis (Aug 21 2018 at 20:03, on Zulip):

but anyway

nikomatsakis (Aug 21 2018 at 20:03, on Zulip):

ok, I think I'll spend rest of my time today going over the NLL-complete stuff and trying to categorize those a bit

lqd (Aug 21 2018 at 20:03, on Zulip):

(yep, having the graphs from "dashboard" but for modern crates would be cool, I'll try and prepare a PR for simulacrum to at least add the modern versions, on the side, so they can integrate it in a nightly run or something)

nikomatsakis (Aug 21 2018 at 20:04, on Zulip):

it'd be good in general to be measuring those

nikomatsakis (Aug 21 2018 at 20:04, on Zulip):

particularly since all of these crates seem like pretty imp't crates to be keeping an eye on

lqd (Aug 21 2018 at 20:05, on Zulip):

I guess most people have work in progress already, so is there something I can do in particular ?

memoryruins (Aug 21 2018 at 20:05, on Zulip):

do we know where clap is spending its time in?

memoryruins (Aug 21 2018 at 20:05, on Zulip):

since its now the top of the list, but is one of the most widely used

lqd (Aug 21 2018 at 20:06, on Zulip):

it's an old version actually

lqd (Aug 21 2018 at 20:06, on Zulip):

I don't think we've profiled it again since all the recent perf work ?

memoryruins (Aug 21 2018 at 20:06, on Zulip):

ohhh right

nikomatsakis (Aug 21 2018 at 20:08, on Zulip):

I was planning on doing some measurements

nikomatsakis (Aug 21 2018 at 20:08, on Zulip):

I haven't gotten to it yet though

nikomatsakis (Aug 21 2018 at 20:08, on Zulip):

https://github.com/rust-lang/rust/pull/53314 seemed like it helped

nikomatsakis (Aug 21 2018 at 20:08, on Zulip):

but that measurement is old

nikomatsakis (Aug 21 2018 at 20:08, on Zulip):

maybe we should re-run

nikomatsakis (Aug 21 2018 at 20:09, on Zulip):

(you can see a 6.5% improvement here)

davidtwco (Aug 21 2018 at 20:10, on Zulip):

I've not got anything in progress at the moment, is there anything you'd like me to be looking at?

nikomatsakis (Aug 21 2018 at 20:10, on Zulip):

@davidtwco I expect one of the NLL-complete issues (or an ICE) would be best

memoryruins (Aug 21 2018 at 20:14, on Zulip):

i’ll set-up some local perf runs when i’m back in town. interested in comparing some of the recent crate versions

lqd (Aug 21 2018 at 20:23, on Zulip):

@memoryruins (btw we've done this timing of the modern versions a couple weeks ago)

lqd (Aug 21 2018 at 20:26, on Zulip):

(and if we're at the end of the meeting, I want to say the recent work you've all done was exceptional :) so many awesome improvements)

memoryruins (Aug 21 2018 at 20:26, on Zulip):

IMG_0763.PNG

memoryruins (Aug 21 2018 at 20:26, on Zulip):

times have changed so fast

nikomatsakis (Aug 21 2018 at 20:27, on Zulip):

lol

nikomatsakis (Aug 21 2018 at 20:27, on Zulip):

good times

lqd (Aug 21 2018 at 20:28, on Zulip):

the good ole days of 6000% :D

Last update: Nov 21 2019 at 13:05UTC