On Sun, Sep 15, 2013 at 8:07 PM, Bert Huijben <b...@qqmail.nl> wrote:
> > > > -----Original Message----- > > From: stef...@apache.org [mailto:stef...@apache.org] > > Sent: zondag 15 september 2013 19:47 > > To: comm...@subversion.apache.org > > Subject: svn commit: r1523465 - > > /subversion/trunk/subversion/svnserve/svnserve.c > > > > Author: stefan2 > > Date: Sun Sep 15 17:46:36 2013 > > New Revision: 1523465 > > > > URL: http://svn.apache.org/r1523465 > > Log: > > As it turns out, allocating memory from the OS in a multi-threaded > > environment is relatively costly. With APR pools, this happens > > every time we use a newly created root pool. > > > > Therefore, teach svnserve to recycle the connection pools, keeping > > those precious memory blocks allocated instead of disposing and > > re-allocating them. > > Is this really the best way to do this? > Not sure. I'm open for suggestions. > Can't we create a subpool here? (Or do we also need multiple allocators, > etc.) > No. Those pools will be used concurrently by their respective worker threads. > In the implementation I see that the existing pools are re-used, but they > are not *cleared* before re-use? > release_connection_pool() clears them. > Shouldn't we at least release the used memory (and thate) when handing > back the memory to the pool allocator? > -- Stefan^2.