|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-07-03 09:04:04
David Abrahams wrote:
> ----- Original Message -----
> From: "Vladimir Prus" <ghost_at_[hidden]>
>
> > David Abrahams wrote:
> > > Hi Vladimir,
> > >
> > > Did you ever pursue that memory issue any further? I have a feeling
>
> there
>
> > > are some massive performance gains to be had somewhere.
> >
> > I've just fixed a memory leak introduced by somebody, appearently some
>
> ghost
>
> > ;-), in expand.c. Will commit shortly. But...
>
> The change just checked in to expand.c looks like a bug to me...
> variable is only freed if evalue is non-NULL? What's the logic behind that?
I'm not sure.
if( evalue )
list_free( evalue );
string_free( &variable );
'variable' is freed unconditionally.
> > 1. We still have memory leaks.... see the attached file. The top memory
>
> leak
>
> > is that all strings are allocated using newstr but never freed.
>
> That's to be expected.
>
> > 2. It would be possible to free all the memory in the end, but I doubt
>
> that
>
> > peak memory consumption can be much reduced -- many things are just
>
> allocated
>
> > and not reference counted in any way.
>
> Yeah; I hope the newstr() hashing is working properly, at least...
I think so.
- Volodya
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk