Stream: t-compiler

Topic: tracking compilation time over the last year


nikomatsakis (Nov 27 2018 at 16:00, on Zulip):

Is anyone aware of any attempt to compare rustc's overall performance over (say) the last year? I know @nnethercote has had a series of awesome posts on this, I'd be curious to try and do a more "overall" comparison (if I recall, their posts were fairly fine-grained)

nikomatsakis (Nov 27 2018 at 16:00, on Zulip):

I guess I ought to be able to get this data from perf

mw (Nov 27 2018 at 16:01, on Zulip):

https://perf.rust-lang.org/dashboard.html

nikomatsakis (Nov 27 2018 at 16:01, on Zulip):

ah right

nikomatsakis (Nov 27 2018 at 16:01, on Zulip):

forgot about that

mw (Nov 27 2018 at 16:01, on Zulip):

that should still work, right?

nikomatsakis (Nov 27 2018 at 16:02, on Zulip):

yep, that is indeed precisely what it was for

nikomatsakis (Nov 27 2018 at 16:02, on Zulip):

doesn't go that far back

nikomatsakis (Nov 27 2018 at 16:02, on Zulip):

also heh doens't look too impressive :)

nikomatsakis (Nov 27 2018 at 16:02, on Zulip):

but I guess them's the breaks

mw (Nov 27 2018 at 16:03, on Zulip):

it doesn't seem to be up-to-date though

nikomatsakis (Nov 27 2018 at 16:03, on Zulip):

I mean the ratio between incremental / the rest is good

nikomatsakis (Nov 27 2018 at 16:03, on Zulip):

true

nikomatsakis (Nov 27 2018 at 16:03, on Zulip):

maybe @simulacrum can update it?

nikomatsakis (Nov 27 2018 at 16:03, on Zulip):

@mw do you happen to know what was the 1.23 -> 1.24 transition?

mw (Nov 27 2018 at 16:04, on Zulip):

I think that was when we turned on incremental compilation on stable

Wesley Wiser (Nov 27 2018 at 16:04, on Zulip):

That wasn't ThinLTO?

mw (Nov 27 2018 at 16:04, on Zulip):

and parallel codegen?

mw (Nov 27 2018 at 16:05, on Zulip):

yes, as @Wesley Wiser says

mw (Nov 27 2018 at 16:05, on Zulip):

I think, at least

Wesley Wiser (Nov 27 2018 at 16:05, on Zulip):

For example, another change related to performance hit stable this release: codegen-units is now set to 16 by default.

mw (Nov 27 2018 at 16:05, on Zulip):

so, default parallel codegen for opt builds, which was enabled by thinlto

simulacrum (Nov 27 2018 at 16:06, on Zulip):

Ah, forgot to push the 1.30 data

simulacrum (Nov 27 2018 at 16:06, on Zulip):

should be up to date now

mw (Nov 27 2018 at 16:07, on Zulip):

incremental opt builds "seem" to have regressed from 1.30 onwards

mw (Nov 27 2018 at 16:08, on Zulip):

that is not really the case. before they were building without ThinLTO

mw (Nov 27 2018 at 16:08, on Zulip):

now they use ThinLTO by default, so the resulting binaries should be a lot faster

mw (Nov 27 2018 at 16:08, on Zulip):

sadly, not a single person wanted to give it a try :) :'(

mw (Nov 27 2018 at 16:09, on Zulip):

https://internals.rust-lang.org/t/help-us-test-incremental-thinlto/8662

mw (Nov 27 2018 at 16:09, on Zulip):

which makes me think that people say that they care about Rust compile times because they are just used to doing so :P

simulacrum (Nov 27 2018 at 17:12, on Zulip):

Well part of it is I think generally "too slow" -- I personally only really notice it when working on librustc or librustc_mir especially after a rebase with >200s compiletimes IIRC

gnzlbg (Feb 26 2019 at 08:18, on Zulip):

@nikomatsakis we build libc with a bunch of different compilers on CI, these are super coarse results and libc is not a very interesting library: Screen-Shot-2019-02-26-at-09.17.27.png

gnzlbg (Feb 26 2019 at 08:19, on Zulip):

the current stable build is at 8:39 mins, so from Rust 1.13 with 9:05 until the last stable, the progress doesn't look to be huge

gnzlbg (Feb 26 2019 at 08:20, on Zulip):

some 1.20 build appears to be at 7:41, and worst was 1.24 with ~10:00

gnzlbg (Feb 26 2019 at 08:21, on Zulip):

so if anything it feels like Rust has been able to add more features without making compile times worse, but it does not feel like compile-times have been reduced significantly

gnzlbg (Feb 26 2019 at 08:23, on Zulip):

or at least not from these results
those builds do a lot more stuff than just compiling Rust though

gnzlbg (Feb 26 2019 at 08:23, on Zulip):

(use rustup to add targets which requires downloading, etc.)

gnzlbg (Feb 26 2019 at 08:24, on Zulip):

so the differences might just be some CI bot got lucky while downloading something

Last update: Nov 21 2019 at 14:10UTC