On 13-04-01 12:44 PM, Alex Bradbury wrote:

> I've recompiled hellos.rs, re-run the test and get the same results.
> This is with the rust 0.6 rc tarball (from
> https://mail.mozilla.org/pipermail/rust-dev/2013-March/003402.html),
> compiled and installed with ./configure && make && make install. What
> would you recommend I use to investigate (may have a to wait a few
> days, as I'm going away tomorrow). massif?

On some further reproduction-and-debugging, looks like this is due to
segmented-stack growth grabbing a 2mb stack for running the C code for
sleep(), which is neither a necessary nor permanent sort of behavior. If
you read the smaps file for the pids in question, the difference is all
in the stack segment. I am not sure why my machine isn't triggering the
same condition, but it's ... not something I'd put down as
intrinsic-to-the-language. Or at least not permanent; we're intending to
do a lot of work tuning the stack-growth / switching machinery in the
near future.

IOW it's nothing deep, you just stumbled into a bug, one we'll fix at
some point. I wouldn't worry about it in terms of "expensive heap" or
such (we _do_ have a very high-overhead local heap presently, but that's
a _different_ bug that's also WIP).

If you don't hit this bug the memory usage is about what you'd expect. I
wish I could say something more concrete today but we've got quite a
number of bugs to fix and this one isn't as high on the list as others.

-Graydon

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to