[Svnmerge] [PATCH] Bidirectional patch take 2

Blair Zajac blair at orcaware.com
Fri Feb 24 10:12:11 PST 2006


Giovanni Bajo wrote:
> Blair Zajac <blair at orcaware.com> wrote:
> 
> 
>>>Please run timing tests with and without the --bidirectional flags,
>>>especially if you are using a repository that does not do
>>>bidirectional merges.
>>>The optimization in the patched svnmerge.py should show
>>>almost no speed loss.
>>>
>>>If people cannot show a speed hit for enabling this feature by
>>>default, I'll
>>>plan on doing so.
> 
> 
> $ echo $GCCREPO
> svn+ssh://giovannibajo@gcc.gnu.org/svn/gcc
> 
> $ time svn log --quiet -r100000:110000 $GCCREPO/trunk 2>&1 >/dev/null
> real    0m21.590s
> user    0m0.188s
> sys     0m0.044s
> 
> $ time svn log --quiet -r100000:110000 $GCCREPO/trunk 2>&1 >/dev/null
> real    0m22.816s
> user    0m0.192s
> sys     0m0.040s
> 
> $ time svn log --quiet -r100000:110000 $GCCREPO/trunk 2>&1 >/dev/null
> real    0m21.248s
> user    0m0.180s
> sys     0m0.092s
> 
> 
> 
> $ time svn log --verbose --quiet -r100000:110000 $GCCREPO/trunk 2>&1 >/dev/null
> real    0m42.020s
> user    0m0.688s
> sys     0m0.108s
> 
> $ time svn log --verbose --quiet -r100000:110000 $GCCREPO/trunk 2>&1 >/dev/null
> real    0m44.731s
> user    0m0.652s
> sys     0m0.088s
> 
> $ time svn log --verbose --quiet -r100000:110000 $GCCREPO/trunk 2>&1 >/dev/null
> real    0m52.781s
> user    0m0.668s
> sys     0m0.108s
> 
> 
> So, logging is basically twice as slower. Even if the merge time dominates, I'm
> unsure whether we want to add this gratuitous overhead for users not doing
> bidirectional merges.

That's one command out of many that the svnmerge.py runs.

It would also be interesting to send the output from these commands to wc to see 
how much more information is being passed from the server to the client.

What we need are speed tests on running svnmerge.py in normal circumstances, 
with and without the --bidirectional flags.  While svn log --verbose is slower, 
the increased time may not be significant to all the other work that svnmerge.py 
is doing.  It also matters how many revisions are commonly looked at by svn log.

I'm also more concerned about having svnmerge.py operate correctly than speed. 
I don't see it as gratuitous.  I would rather see an optimization flag to turn 
off bidirectional support than the other way around.

> I'll review the patch later today, thanks!

Great!

Regards,
Blair



More information about the Svnmerge mailing list