This is based on issue #1492. That issue had so much (now-obsolete) history
that it was getting cumbersome. The still-relevant parts are below, paraphrased
from Philip Martin's comments of late November 2004 in issue #1492.
Create three repositories:
stress.pl -c -n0 -F200 -D1 -N1
mv repostress repo-200
stress.pl -c -n0 -F400 -D1 -N1
mv repostress repo-400
stress.pl -c -n0 -F800 -D1 -N1
mv repostress repo-800
Then time how long it takes to run ls on the trunk:
time svn ls http://localhost/repo-200/trunk > /dev/null
time svn ls http://localhost/repo-400/trunk > /dev/null
time svn ls http://localhost/repo-800/trunk > /dev/null
With the BDB backend:
200 400 800
ra_local 0.6 1.4 4.5
ra_svn 0.6 1.5 4.6
ra_dav 2.4 5.6 16.3
and the FS backend:
200 400 800
ra_local 0.3 0.4 0.8
ra_svn 0.3 0.5 0.9
ra_dav 4.4 14.3 49.1
ra_local and ra_svn give very similar times, but ra_dav is much slower.
(Perhaps we just have to accept that ra_dav is slower since it is not a
dedicated Subversion protocol?)
Notice how with FSFS, ra_local and ra_svn get faster, but ra_dav gets slower.
That's very odd.
All times are wall-clock time, measured on a dual CPU machine, with an optimized