On 31/05/2013 6:01 AM, Corey Richardson wrote:
Especially for isrustfastyet, more stats reported from the buildbots
would be wonderful, especially binary size and memory usage (maybe
only on linux, with cgroups if possible) or pass timing.
Is it possible to have this added?
Yes, I have been sketching mechanisms -- "reliable" ones we can use for
such purposes -- for this for a while. It's not at the top of my
priority list -- gc is that -- but I'm definitely working on several
sub-tasks of it in spare moments.
I have mixed feelings about how to do this. In the crudest sense, I have
a small shell script that can report such things via cgroups on linux.
So they could be plotted and/or measured-by-bors for the sake of
integration testing, assuming we can pick a narrow enough "regression"
margin to block the worst offenses. The mozilla rust group has agreed in
principle to adapting bors to "prevent perf regressions" as well. Wiring
that up would probably take on the order of a week of work; I have most
of the pieces sketched out and working now.
Secondarily, I would like all rust processes to have substantially more
ability to measure and report-on _themselves_ when running, and could
(for example) measure various counter-maximum values on exit for the
sake of reporting to bors / isrustfastyet. On that level, there is much
more work to do. I filed a few bugs earlier in the week which others are
quite welcome to work on; I will try to get to them eventually but I
suspect others will be able to complete the work much faster than me:
https://github.com/mozilla/rust/issues/6810
https://github.com/mozilla/rust/issues/6808
https://github.com/mozilla/rust/issues/6812
https://github.com/mozilla/rust/issues/6816
These are all under the new tag I-instrumentation. If you have other
ideas for ways of instrumenting rust programs to make their performance
characteristics less opaque, please file more such bugs and/or get
hacking! This sort of work is often fruitful.
(Finally, I have a wip patch that will make #[bench] benchmarks much
more useful by supporting dump-reload-compare operations on the whole
benchmark-set for a given crate. These may wind up too fine grained to
be used for regression-blocking on landings. We'll have to see. I
suspect something like #6812 above may help solidify mechanical
reasoning around that sort of thing.)
-Graydon
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev