Stream: t-compiler

Topic: locally tracking `rustc` compile-times per-commit

pnkfelix (Oct 30 2019 at 12:21, on Zulip):

the more I reflect on this, I think the reason I want it is that usually by the time I realize I want to see the data here, I've already done several builds, and its expensive to redo them just to get timing history. Maybe I do want to measure the stage1 build times after all, too... hmm.

pnkfelix (Oct 30 2019 at 12:22, on Zulip):

well, it sounds like something I can play with locally at first

simulacrum (Oct 30 2019 at 12:24, on Zulip):

I think tracking build times is something we should be doing more (in general, not just in rustc) so we can have hopefully happier users -- right now compile times are mostly a gut feeling

simulacrum (Oct 30 2019 at 12:24, on Zulip):

but _how_ to do that is another story :)

mw (Oct 30 2019 at 12:30, on Zulip):

eddyb and I talked a bit about that -- in theory, this should've been caught by incremental tests, and I believe mw was surprised it wasn't

let's put it this way: it wouldn't be too hard write a test that makes sure that clean rebuilds completely skip codegen (for the given test). I would have thought that there already is a test like that but apparently there isn't. Meanwhile I remembered that the cargo-incremental tool and the rust-icci infrastructure based on it were doing such tests (extensively so). But rust-icci was decommissioned because it didn't seem worth the maintenance effort. That's still true because perf.rlo also let us spot the regression just as quickly.

eddyb (Oct 30 2019 at 12:46, on Zulip):

part of what I want is CI in the loop so we catch at least some things before ever landing a PR

eddyb (Oct 30 2019 at 12:47, on Zulip):

one thing I was suggesting to @simulacrum was that if there is a cheap way to do it, we could run some of the more stress-test-y benchmarks that only take a few seconds (like inflate... wait how is that that fast? is that old inflate or the new one? I remember it taking minutes o_O)

eddyb (Oct 30 2019 at 12:48, on Zulip):

so basically spend no more than 5 minutes per PR CI (not @bors) checking a few benchmarks and reporting back above a certain threshold, to suggest a try + perf run

simulacrum (Oct 30 2019 at 12:49, on Zulip):

pasted image we've made it faster over time

eddyb (Oct 30 2019 at 12:50, on Zulip):


eddyb (Oct 30 2019 at 12:51, on Zulip):

wait why is min/max confusing when in relative terms? I guess it's the %Δ between the absolute min/max

simulacrum (Oct 30 2019 at 13:02, on Zulip):

hm, no, that's the min/max percent

simulacrum (Oct 30 2019 at 13:03, on Zulip):

it's not anything fancy

eddyb (Oct 30 2019 at 13:03, on Zulip):

it's not "magnitude" min/max though

eddyb (Oct 30 2019 at 13:04, on Zulip):

that's what confused me, sorry, I expected to find "smallest delta" and "largest delta" not literally min/max of the signed percentage

simulacrum (Oct 30 2019 at 13:06, on Zulip):


simulacrum (Oct 30 2019 at 13:06, on Zulip):


Last update: May 27 2020 at 22:20UTC