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

Performance regression with reverse merge

From: Stefan Fuhrmann <stefanfuhrmann_at_alice-dsl.de>
Date: Sun, 1 Mar 2009 16:29:16 +0100

Hi devs,

while giving TSVN 1.6. some final touches, I ran into this one:
I just wanted to 'undo' (reverse-merge) a small, fairly recent
revision but it would TSVN over 10 minutes to complete.

Because this is a major performance issue IMHO, I tried to
reproduce it on my LINUX box - sadly with success. This is
what I found:

Server info:
  username: guest
  empty password
  Powered by Subversion version 1.5.1 (r32289)

$ uname -a
Linux opti 2.6.24-23-generic #1 SMP Mon Jan 26 00:13:11 UTC 2009 i686 GNU/Linux
$ svn --version
svn, version 1.4.6 (r28521)
<snip>
$ svn co http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk -r15533 ~/TSVN > /dev/null
$ time svn diff -r 15456:15455 http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk > /dev/null

real 0m12.496s
user 0m0.016s
sys 0m0.008s
$ time svn merge -r 15456:15455 http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk ~/TSVN
U TSVN/src/TortoiseProc/RevisionGraph/RevisionGraphDlg.cpp
U TSVN/src/TortoiseProc/RevisionGraph/RevisionGraphDlg.h

real 0m15.732s
user 0m0.044s
sys 0m0.016s

This is already quite bad but it gets much worse:

$ cd ~/Documents/subversion-1.6.0-rc3/subversion/svn
$ ./svn --version
svn, version 1.6.0 (Release Candidate 3)
<snip>
$ ./svn co http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk -r15533 ~/TSVN2 > /dev/null
$ time ./svn diff -r 15456:15455 http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk > /dev/null

real 0m11.207s
user 0m0.028s
sys 0m0.048s
$ time ./svn merge -r 15456:15455 http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk ~/TSVN2
--- Reverse-merging r15456 into '/home/stefan/TSVN2/src/TortoiseProc/RevisionGraph/RevisionGraphDlg.cpp':
U /home/stefan/TSVN2/src/TortoiseProc/RevisionGraph/RevisionGraphDlg.cpp
--- Reverse-merging r15456 into '/home/stefan/TSVN2/src/TortoiseProc/RevisionGraph/RevisionGraphDlg.h':
U /home/stefan/TSVN2/src/TortoiseProc/RevisionGraph/RevisionGraphDlg.h

real 6m51.248s
user 0m2.292s
sys 0m0.656s

Hopefully, someone can fix that or at least qualify the
issue in 1.6.0.

-- Stefan^2.
Received on 2009-03-01 16:28:33 CET

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.