On 08/20/2013 07:48 PM, Brian Anderson wrote:
On 08/20/2013 02:27 PM, Graydon Hoare wrote:
Hi,

We had a meeting today that was mostly about cycle time. Integrating a
change on the rust repo currently takes about 2 hours, which is still
far too much. We've tried approaching this from a variety of
perspectives in the past and I feel like possibly I've not conveyed the
cost and work breakdown, or discussed systematic approaches to the
problem yet. I'd like to do so now, as I believe the issues are all
quite solvable and I'd very much like people to shift their energy to
focus more on these matters:

Thanks, Graydon!


  - On valgrind and non-valgrind alike, we're running subprocesses
    inefficiently. This results in both too many threads (which
    hurts valgrind especially badly) and too many blocking calls
    (which hurts all platforms). I believe rewriting std::run to
    use libuv will help significantly here. Alex is on this
    but I imagine he can use help. See
    https://github.com/mozilla/rust/pull/8645

A complete fix here is going to require uv-based process bindings, file bindings, then an API for accessing stdin/out/err, so it will take a while. Alex and Jefferey are both on various portions of this and we'll try to get it done soon. I'm not sure though that this is causing the valgrind regression on the bots - I tried all day to reproduce it and I can't.

I tried reproducing the regression with a subset of the run-pass tests earlier and failed, so tonight I tried harder by running all of make check like `make check CFG_ENABLE_VALGRIND=1 RUST_THREADS=1` (after previously building the compiler with `make`), and I did come up with a slight regression: 75m before and 81m after. This still isn't close to what the bots are showing though. The regression range I tested was 680eb71-15fca2d (covering the span on IRFY where the regression happened).
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to