On Tue 29 Nov 2011 12:06, l...@gnu.org (Ludovic Courtès) writes:

> RET should never be left uninitialized, and the caller should be
> prepared to deal with RET == 0.

Oops, will fix.

> (The code itself doesn’t have to #ifdef __linux__ because other OSes
> provides an implementation that mimics Linux’s /proc.)

Interesting, didn't know that.  In any case it should DTRT if statm
isn't there.

> My impression was that FREE_SPACE_DIVISOR was quite coarse-grain.
> What’s your experience with that?

It has varying precision.  For example in the (factorial 100000)
example, it gets to 1800 at some point.  Quantizing the
target_free_space_divisor is an issue.

> Could you run the stuff under gc-benchmarks/ with and without the
> heuristic, as in [0]?

Sure.

> Also, could you check with a program that actually mixes malloc +
> GC-alloc how it behaves?

Does the factorial example not count?

> I tried to reproduce the infamous iconv issue, which would have been a
> simple way to check, but failed:
>
>   (with-fluids ((%default-port-encoding "UTF-16BE"))
>     (let loop () (open-output-string ) (loop)))
>
> Memory growth appears to be bounded here.

What do you mean?  Do you mean that this patch fixes the iconv issue, or
that you couldn't reproduce it before?

Regards,

Andy
-- 
http://wingolog.org/

Reply via email to