We've touched upon the performance of 'svn upgrade' vs. a fresh
checkout a few times:

"1.7 timing tests: update great, checkout needs work, upgrade horrible"
http://svn.haxx.se/dev/archive-2010-12/0161.shtml

"1.7 performance requirements for release"
http://svn.haxx.se/dev/archive-2010-12/0232.shtml

"WCNG - Upgrading working copies"
http://svn.haxx.se/dev/archive-2010-11/0503.shtml

We don't have anything specific to this on the roadmap beyond
(possibly?) taking a look at svn_wc_upgrade as part of the API
Performance Analysis.  The only relevant issue I saw was
http://subversion.tigris.org/issues/show_bug.cgi?id=3785 "fix
performance of 'svn upgrade' text-base handling" and that is marked as
fixed.

I ran a series of simple comparisons today, checking out the 1.6.17
tag vs. upgrading a 1.6 WC of the same.  The upgrade was about twice
as slow (yes obviously there are a lot of moving parts here and making
a comparison between a local operation and one over the network is
inherently dubious, but it's something):

  svn co -q https://svn.apache.org/repos/asf/subversion/tags/1.6.17

  (3,214 files, 452 directories excluding .svn folders)
  Using trunk@1133033 with ra_neon (ra_serf fails[1])

    Elapsed Time :  00:00:54.493
    Elapsed Time :  00:00:52.994
    Elapsed Time :  00:00:48.076
    Elapsed Time :  00:00:48.461
    Elapsed Time :  00:00:52.306
    Elapsed Time :  00:00:41.084
    Elapsed Time :  00:00:52.210
    Elapsed Time :  00:01:14.680
    Elapsed Time :  00:01:29.557
    Elapsed Time :  00:01:33.237

    Average time :  00:01:00.710

  svn upgrade -q
  FWIW: WCs checked out with 1.6.17 client
  Upgrade done with trunk@1133033

    Elapsed Time :  00:02:03.156
    Elapsed Time :  00:02:45.311
    Elapsed Time :  00:02:39.375
    Elapsed Time :  00:01:32.864
    Elapsed Time :  00:01:03.170
    Elapsed Time :  00:01:27.547
    Elapsed Time :  00:00:00.064
    Elapsed Time :  00:01:57.378
    Elapsed Time :  00:01:52.263
    Elapsed Time :  00:02:39.548
    Elapsed Time :  00:02:47.763

    Average Time:   00:02:04.844

A few questions:

1) Any other issues or threads of relevance I missed?

2) Is anyone actively looking at this?

3) Is there a general sense that upgrade performance is currently
adequate?  Do we really care if upgrade is slower than a checkout, as
long as it is in the ballpark?  After all, this is a one-and-done
operation for most users.

4) When we release 1.7 what will our default recommendation be
(assuming the user has no local changes)?  Upgrade or fresh checkout?
I'm assuming the former, but are we open to the latter if performance
is a problem?

Paul

[1] Haven't looked into this yet:

C:\SVN\sandbox\1.7-Performance-Test\upgrade-vs-checkout>timethis svn
co -q https://svn.apache.org/repos/asf/subversion/tags/1.6.17
1.6.17-serf-WC1

TimeThis :  Command Line :  svn co -q
https://svn.apache.org/repos/asf/subversion/tags/1.6.17
1.6.17-serf-WC1
TimeThis :    Start Time :  Tue Jun 07 14:22:16 2011

svn: E620019: Error retrieving REPORT (620019): APR does not
understand this error code
This application has halted due to an unexpected error.
A crash report and minidump file were saved to disk, you can find them here:
C:\Users\pburba\AppData\Local\Temp\svn-crash-log20110607142236.log
C:\Users\pburba\AppData\Local\Temp\svn-crash-log20110607142236.dmp
Please send the log file to us...@subversion.apache.org to help us analyze
and solve this problem.

NOTE: The crash report and minidump files can contain some sensitive information
(filenames, partial file content, usernames and passwords etc.)

Reply via email to