On 30/05/2013 05:15, James Miller wrote:
This meant that a fairly simple, standard pass, was being called on over 100x
more code than it
needed to be. If you want to know why a full build takes so long, there is why.
Since I've been curious about the build times this week, I thought I'd
experiment with this assertion in a brute force way: compare the times
between a baseline build and a build with every occurrence of
#[inline(always)] replaced with #[inline].
The above is not ideal, especially if uint::range and vec::each are not
being inlined without an inline(always) directive, as pcwalton
mentioned. But it was something easy to try.
This is on a system that's making use of a ccache for the C/C++ portions
of the runtime (and I checked it was getting used as the builds ran, via
ccache --show-stat), so hopefully its just rustc invocations that are
taking the bulk of the time below; but I have not carefully verified
that claim.
% cd <baseline-reference-repository>
% time make > ../../rust-baseline-build-log 2>&1
real 23m38.869s
user 22m50.757s
sys 0m55.156s
% cd <repo-with-inline-always-hacked-out>
% time make > ../../rust-reinline-build-log 2>&1
real 20m52.833s
user 20m1.642s
sys 0m56.104s
It's just two data points, but I thought I would share. Two and a half
minutes may not seem like a lot, but its quite possible that better
tuning would reap more gains here.
Cheers,
-Felix
--
irc: pnkfelix on irc.mozilla.org
email: {fklock, pnkfelix}@mozilla.org
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev