On Tue, Nov 06, 2007 at 04:09:11PM -0800, David Glasser wrote:
> On 10/11/07, Malcolm Rowe <malcolm-svn-dev@farside.org.uk> wrote:
> > On Wed, Oct 10, 2007 at 04:02:37PM -0700, glasser@tigris.org wrote:
> > > Move the cache of *immutable* DAG noderevs from revision roots to the
> > > svn_fs_t object. This extends the lifetime of cache entries; in my
> > > test, a somewhat large diff operation on a repository in NFS got a 4x
> > > speedup. Transaction DAG noderevs are still in the roots (though
> > > perhaps this should change).
> > >
> >
> > Nice change! Is it worth considering whether this cache can go into the
> > per-filesystem object (fs_fs_shared_data_t) instead of the
> > per-filesystem-handle object (fs_fs_data_t)?
> >
> > Obviously you'd have to add some locking, but it would help to ensure
> > that we can still benefit from the cache when we open a new handle.
>
> That would work, but as you mentioned would require mutex overhead for
> threaded builds; one would need to benchmark multithreaded servers to
> see if it ends up being a win or a loss.
>
Sure. The reason I asked is that I didn't think we tended to keep hold
of svn_fs_t objects for very long - say one operation - so a cache that
persists beyond that seems like a good idea.
Regards,
Malcolm
- application/pgp-signature attachment: stored
Received on Mon Nov 26 17:30:23 2007