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

Reply via email to