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

Re: Improving the performance of libsvn_wc for checkouts/updates/switches

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2004-05-22 19:29:38 CEST

Josh Pieper <jjp@pobox.com> writes:

> Since ghudson is working on turning a O(n^2) import into O(n), I
> thought I would look at what in the working copy library was causing
> O(n^2) behavior for checkouts and updates.

You may like to read notes/entries-caching which contains some of my
observations about the entries file code.

> Step 2:
> Make the log file execution code read the entries file once at the
> beginning of the log file, then make all subsequent changes to an in
> memory hash. The entries file is written out only once, immediately
> before the log file is completed. This involved making new versions
> of svn_wc__entry_modify and svn_wc__get_keywords that would use the
> in-memory entries hash.

The current log file execution code already does most (perhaps all) of
that, take a look at do_sync in svn_wc__entry_modify. Also the
entries caching code should ensure that the entries file is read only
once per access baton. I believe the checkout/update slow down is due
to repeated writing of the entries file, at present it is written once
per log file.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat May 22 19:29:59 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.