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

Re: faster client pre-1.0: decrease number of files&folders in .svn

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2003-02-05 23:22:05 CET

solo turn <soloturn99@yahoo.com> writes:

> > "Slow down"? To what are you comparing it?
>
> how it scales with the number of files/folders managed. this is not
> linear. its minimum 2 times slower (ie 10 times more files managed,
> 20 times more time for "svn st").
[...]
> 1. scalability of svn up and svn st:
> our experience states O(>2), while we believe it
> should be O(1). you may be partially right, because
> it is not O(10) like the number of files suggest.
> but i don't know how many .svn entries are
> really touched for one file in the repository.
> --> shows it is non-linear

[Note: If a 10-fold increase in the number of files produces a 20-fold
increase in runtime that is not O(2). O(2) is quadratic, i.e. double
the files and quadruple the runtime, ten times the files and a hundred
times the runtime.]

Looks like something other than Subversion is causing your problems, I
see the expected linear behaviour

# Create a repository with 1000 small files over 10 directories
<...>/tools/dev/stress.pl -c -F100 -D9 -N2 -n0

# Copy 15 times
for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;do \
svn cp file://`pwd`/repostress/trunk file://`pwd`/repostress/trunk$i; \
done

# Time 4000 files
rm -rf wc
svn co -r0 file://`pwd`/repostress wc
time svn up -r4 wc > /dev/null
time svn st wc

svn up
files 1000 2000 4000 8000 16000
real 0m28.876s 0m56.078s 1m51.344s 3m42.604s 7m31.855s
user 0m20.830s 0m41.070s 1m23.100s 2m47.280s 5m37.880s
sys 0m5.960s 0m12.180s 0m23.490s 0m47.120s 1m36.210s

svn st
files 1000 2000 4000 8000 16000
real 0m0.929s 0m1.802s 0m3.545s 0m7.404s 0m14.894s
user 0m0.650s 0m1.400s 0m2.560s 0m5.310s 0m10.560s
sys 0m0.280s 0m0.400s 0m0.990s 0m1.760s 0m3.800s

It's also linear (but slower, it's a slow network) for a working copy
on an NFS mount.

svn st
files 1000 2000 4000 8000 16000
real 0m5.114s 0m8.328s 0m17.389s 0m33.609s 1m6.849s
user 0m0.950s 0m2.980s 0m5.130s 0m12.200s 0m19.630s
sys 0m1.500s 0m2.600s 0m5.410s 0m8.810s 0m18.370s

No svn up times because I deleted them by mistake, I don't intend to
repeat the experiment, I've wasted too much time on this already...

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 5 23:22:54 2003

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