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

Re: [PATCH] The blame speedup, second try

From: Peter N. Lundblad <peter_at_famlundblad.se>
Date: 2004-06-08 22:51:11 CEST

Hi,

mbk kindly set up a test server with my blame patch for performance
testing. We were using a later patch than posted to the list, which
implements a custom REPORT in the DAV client and server. I am posting the
results here for the record. I'm postponing further work on this stuff
until after 1.1. It's a major speed-up, but it's not a regression.

On Mon, 31 May 2004, Ben Collins-Sussman wrote:

> Question: is 'svn blame' measurably faster with this optimization? Or
> is it impossible to measure right now, since you only have it working
> with ra_local?
>
Now it is possible to say that it is faster. I've been testing over my 56k
modem to Marks server, so its a really slow link. The repository used was
a subversion repository from about r8200.

I choose three files of different sizes and with different numbers of
revisions. Thre results are summarized in the tables below.

Revs is the number of revisions reporter by svn log on the file. Old Trans
are the amount of data received over the link during the operation. Note
that the numbers are approximate. I don't think it is necessary to be more
exact...

File Size Revs Old Trans Old Time New Trans New Time
client/prop_commands.c 30KiB 74 2.5MiB 6m40s 0.2MiB 20s
wc/update_editor.c 104KiB 221 20MiB 41m11s 0.5MiB 1m11s
COMMITTERS 4KiB 60 0.6MiB 3m <0.1MiB 7s

So, I think this optimization is worth the efforts. Even on a faster link,
there is a difference between 20 MB and 0.5MiB. Obviously, there is a
point where the delta calculation/aplication times outweigh the
transmission time. For example, the new code is slower when used on
ra_local or HTTP locally. I think this can be solved by faking deltas as
Greg Hudson suggests (i.e. sending Windows containing only new data
operations). IMO, this could be applied to the whole RA layer for ra_local
and also for the network layers as a user option. This, however, is
a separate issue, and it might have been discussed before.

Now, back to 1846...
Regards,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jun 8 22:53:57 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.