"C. Michael Pilato" <cmpil...@collab.net> writes:

> On 02/14/2012 05:41 AM, Philip Martin wrote:
>> A substantial performance improvement but at the cost of making write
>> operations block read operations.  This would mean things like TSVN
>> would not be able to run status on a working copy while its checkout was
>> running.
>
> Just to clarify, by "checkout" here, you mean "checkout or update", yes?  I
> ask because while checkout might be a relatively rare operation, we tend to
> assume that updates happen all the time.  Just want to properly frame the
> scope of this blocking action.

Yes, I believe anything that writes to the database will exclude
readers.  I don't know whether the blocking starts from the point the
database is opened for writing or from the first write itself.

The performance improvements affect other commands:

 - a recursive commit command goes from 38s to 1.5s
 - a recursive status command goes from 3.3s to 1.5s.

The status command appears to be influenced by some sort of NFS cache in
my setup and immediately repeating the command gives a shorter runtime,
in this case the time drops from 2.3s to 0.5s.

The commit harvester appears to be particularly transaction intensive.

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com

Reply via email to