[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: rev 4012 - trunk/subversion/libsvn_client

From: Justin Erenkrantz <jerenkrantz_at_apache.org>
Date: 2002-12-05 19:53:36 CET

--On Thursday, December 5, 2002 12:13 PM -0600 cmpilato@tigris.org

> Author: cmpilato
> Date: 2002-12-05 12:13:33 -0600 (Thu, 05 Dec 2002)
> New Revision: 4012
> Modified:
> trunk/subversion/libsvn_client/commit_util.c
> Log:
> * subversion/libsvn_client/commit_util.c
> (harvest_committables): Cleanup some wacky pool usage in here, and
> remove some unnecessary strdup's. Also, add a buncha comments.

That wacky pool usage was on purpose.

harvest_committables itself is executed in a loop many times (think
of the recursive case). All allocations that were done in subpool
can be freed up when we are done with this entry. Now that they are
done in pool, those allocations must wait to be freed until its
parent is cleaned up. That has nasty implications for a directory
that has a large number of children directories. Each allocation
done in pool will now have to wait until its parent is cleaned up -
that will dramatically increase the memory footprint for this case.

Though it does look like the previous code made a mistake in not
sending loop_pool to harvest_committables... -- justin

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Dec 5 19:54:40 2002

This is an archived mail posted to the Subversion Dev mailing list.