I think this is probably one of those areas that needs specific
examples before people really know what is meant. Greg S., where you
examples of over-enthusiastic subpool creation in the code, maybe
check in comments there? That'll help people get a feel for what you
mean.
-K
Jim Blandy <jimb@savonarola.red-bean.com> writes:
> Greg Stein <gstein@lyra.org> writes:
>
> > General comment: I've been seeing a *LOT* of pool creation/manipulation in
> > the various SVN code. My initial feeling is that we're going a bit overboard
> > with the pools, and that it will steer us into Bad Areas(tm). i.e. the
> > problem we've seen where a pool is destroyed while references within it
> > still exist.
> >
> > IMO, I would ask people to be much more conservative with pool usage. Don't
> > just go and create/destroy them willy nilly. More pools, more confusion
> > ("gee, which pool is this in?"). Create/dest of pools is only important
> > within high-level loops that are unbounded in size (the subpool is used to
> > impose a bound).
>
> The FS code is probably pretty guilty of this. If there's stuff in
> there which looks too fussy, tell me what to remove.
>
> However, there are some cases where it seems important. For example,
> if the delta generator just uses a single pool, instead of creating a
> new pool for every directory it recurses into, then the total memory
> consumed to compute a delta will be enough to hold the entire delta in
> memory. After going to all this trouble to use streamy
> representations of things, that seems a waste.
Received on Sat Oct 21 14:36:10 2006