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

Re: [PATCH v3] speed up svn_txdelta_apply_instructions

From: Stefan Fuhrmann <stefanfuhrmann_at_alice-dsl.de>
Date: Sat, 22 May 2010 13:35:30 +0200

Julian Foad wrote:
> Hi Stefan.
>
> Just a meta-question about the distribution of chunk sizes in different
> types of repository.
>
> You mention it's particularly visible in "non-packed" FSFS repositories.
> However, AFAIK, packing an FSFS repository couldn't explain it because
> that just appends multiple revision files into a single file, it does
> not change the encoding of those files in any way.
>
> A change in delta encoding happened in v1.4:
> <http://subversion.apache.org/docs/release-notes/1.4.html#svndiff1>.
> That seems the most likely explanation.
>
It's a "format 2" FSFS respository that I kept around
for a couple of years now. From what I can see, the
newer format uses one order of magnitude less copy
instructions - probably to reduce the delta instruction
encoding overhead.
> In an earlier message you wrote:
>
>> Like much of the svndelta code, this code is mainly used for
>> non-packed repositories.Packed repositories seem to have
>> much larger delta chunks. Profiling data, I used during optimization:
>>
>> a) flat (1.4 format) repository, total runtime ~4850 samples
>> - non-optimized: 316 samples total in function, thereof 107 in memcpy
>> - non-optimized: 245 samples total in function, thereof 64 in memcpy
>> a) packed 1.6 repository, total runtime ~3700 samples
>> - non-optimized: 100 samples total in function, thereof 95 in memcpy
>> - non-optimized: 90 samples total in function, thereof 85 in memcpy
>>
>
> (I assume the second and fourth lines saying "non-optimized" meant to
> say "optimized".)
>
Oops ;)
> Did you perhaps create your "1.4 format" repository using the
> "--pre-1.4-compatible" option? If so, that would explain it (and would
> make it a "1.3 format" repository).
>
IIRC, it actually got created with 1.4. But maybe,
I used some backward compatibility option back
then as well.

-- Stefan^2.
Received on 2010-05-24 10:02:51 CEST

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.