You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Fuhrmann <st...@alice-dsl.de> on 2010/03/28 12:27:27 UTC

upcoming patch set: delta_files() speedup

Hi devs,

in an attempt to speed up the SVN back-end, 
I profiled the code path that reads file contents
from the repository. As hoped, I found some
points of action resulting in a small patch set
that gives roughly a 20% speedup.

This is what I did. On a svnsync'ed copy of the  
TSVN repository, I ran an export of /trunk over
ra_local to minimize overhead. All data was in
file cache and the export target was a RAM disk.

Although analysis and development was conducted
for 1.6.x on Win32, I confirmed the results with 1.7
on my xeon workstation:

~$ uname -s -r -m
Linux 2.6.28-18-generic x86_64

~$ time ~/1.7-928181/svn export --ignore-externals -q $REPO/trunk /dev/shm/t
real    0m3.727s
user    0m3.189s
sys     0m0.542s

~$ time ~/1.7-patched/svn export --ignore-externals -q $REPO/trunk /dev/shm/t
real    0m3.147s
user    0m2.583s
sys     0m0.570s

(179 folders, 3660 files, 81.8MB)

All numbers shown are the average of the 2nd to
4th of 4 consecutive runs. There is still some
inevitable variation in the "sys" timing but "real"
is accurate within less than 2 percent.

All patches are against /trunk rev 928181.

-- Stefan^2.