On Sun, Mar 27, 2011 at 4:51 AM, Mark Phippard <markp...@gmail.com> wrote:

> On Fri, Mar 25, 2011 at 1:33 PM, Mark Phippard <markp...@gmail.com> wrote:
>
> > I have been working on a framework for writing tests to record
> > performance.  I have something good enough to share:
> >
> > https://ctf.open.collab.net/sf/projects/csvn
> >
> > It is pretty easy to add new tests if you have ideas on more tests you
> > think we should add.  I think I have pretty good coverage of the major
> > functions.  The wiki on the site I linked to above has details on how
> > I have constructed the current tests.  I am going to put out a call to
> > users for feedback and try to get more people to run the tests and
> > record results.
> >
> > I am not claiming these are anything definitive or even that we will
> > use them to help us make the release decision, but I think it is a
> > start on coming up with some reproducible tests that people can run
> > easily.  If after people look at and run the tests they think they are
> > useful or can be tweaked to be useful, then great.  If not, then at
> > least I got to write some code for a change :)
> >
> > The tests are written in Java because that is what I know and it gives
> > me good cross platform coverage.  However, the Java just drives the
> > command line so all you need to do is have the svn command line in
> > your PATH and that is what it uses for all the work.
>
> These tests are showing some interesting results.
>
> * There are a number of cases where 1.7 shows large performance gains
> over 1.6.  For example, a WC with a lot of folders on Windows:
>
>
> https://ctf.open.collab.net/sf/wiki/do/viewPage/projects.csvn/wiki/FolderTests
>
> * Checkout seems to be the biggest remaining hotspot where 1.7 tends
> to be slower, although commit seems to still be slower too.
>
> * Delete and move are slower than I would have expected.  Is this
> because we can actually delete the folder now, as opposed to waiting
> until commit time?  I actually thought that made would make it faster
> as I thought the folder used to get deleted and then put back (maybe
> just in IDE's).
>
> * There is something seriously bad going on with Anti-Virus on my
> Windows laptop (Symantec Endpoint Protection).  I noticed the times
> for commit were way out of whack so I configured my A/V to ignore the
> folder where the benchmarks were running.  When I ran the tests again,
> the performance of 1.7 was waaay better.  I am about 95% certain the
> A/V is the problem but I need to make sure.  While it was great to see
> the good performance, it is still a big concern to see that A/V might
> be having an even bigger impact than it has before.  1.6 also showed
> performance improvements but they were less dramatic than some of the
> 1.7 commands.
>
> Stefan Küng asked me to add svnversion to the benchmark and I have
> done so in the latest release.
>
> I would love to see someone do some tests with the WC on local disk vs
> network mount (1.6 and 1.7).  I tried to do it using some virtual
> machines I have access to at CollabNet.  The problem is that the
> connection of these boxes to the NetApp with our home folders is too
> slow.  Some of the checkouts (even using 1.6) were running for an hour
> and I finally killed the test.
>
> Anyway, overall I am encouraged by the results I am seeing so far.  I
> look forward to more people running the tests and sharing the results.
>
>
Attached are my results from the benchmark suite. I've provided two versions
of the 1.7.0 run. One was an older build (prior to the optimizations), and
the last one was a recent build.

These were all run over file:///. I'll try and see if I can re-run it over
svn://.

Cheers,
Daniel B.
=================== TEST RESULTS ==================
SVN Version: 1.7.0-dev


Tests: Basic Tests
                Action       Time    Millis
            ----------  --------- ---------
              Checkout:  0:03.695      3695
                Update:  0:03.364      3364
                Switch:  0:00.266       266
              Proplist:  0:00.071        71
                Status:  0:00.099        99
                Commit:  0:01.151      1151

Tests: Merge Tests
                Action       Time    Millis
            ----------  --------- ---------
             Merge-all:  0:02.672      2672
          Merge-revert:  0:01.229      1229
           Merge-synch:  0:02.880      2880
     Merge-reintegrate:  0:04.129      4129

Tests: Folder Tests
                Action       Time    Millis
            ----------  --------- ---------
             Folder-co:  0:54.932     54932
             Folder-st:  0:01.143      1143
             Folder-ci:  0:08.488      8488
             Folder-up:  0:03.090      3090

Tests: Binaries Tests
                Action       Time    Millis
            ----------  --------- ---------
                Bin-co:  2:13.671    133671
            Bin-up-r25:  0:02.532      2532
                Bin-sw:  2:09.494    129494
           Bin-cleanup:  0:00.046        46
                Bin-rm:  0:03.811      3811
                Bin-st:  0:00.341       341
            Bin-commit:  0:02.653      2653
                Bin-mv:  0:02.852      2852
             Bin-st-mv:  0:00.326       326
            Bin-commit:  0:03.416      3416

===================  END RESULTS ==================
  Total execution time:  6:25.505    385505

Results in wiki format:

Basic Tests:
| 1.7.0-dev | r1086526 | 0:03.695 | 0:03.364 | 0:00.266 | 0:00.071 | 0:00.099 | 
0:01.151

Merge Tests:
| 1.7.0-dev | r1086526 | 0:02.672 | 0:01.229 | 0:02.880 | 0:04.129

Folder Tests:
| 1.7.0-dev | r1086526 | 0:54.932 | 0:01.143 | 0:08.488 | 0:03.090

Binaries Tests:
| 1.7.0-dev | r1086526 | 2:13.671 | 0:02.532 | 2:09.494 | 0:00.046 | 0:03.811 | 
0:00.341 | 0:02.653 | 0:02.852 | 0:00.326 | 0:03.416
=================== TEST RESULTS ==================
SVN Version: 1.7.0-dev


Tests: Basic Tests
                Action       Time    Millis
            ----------  --------- ---------
              Checkout:  0:05.956      5956
                Update:  0:06.505      6505
                Switch:  0:03.221      3221
              Proplist:  0:03.005      3005
                Status:  0:00.100       100
                Commit:  0:14.245     14245

Tests: Merge Tests
                Action       Time    Millis
            ----------  --------- ---------
             Merge-all:  0:02.664      2664
          Merge-revert:  0:01.225      1225
           Merge-synch:  0:02.819      2819
     Merge-reintegrate:  0:10.341     10341

Tests: Folder Tests
                Action       Time    Millis
            ----------  --------- ---------
             Folder-co:  8:55.823    535823
             Folder-st:  0:01.080      1080
             Folder-ci: 30:03.992   1803992
             Folder-up:  8:03.296    483296

Tests: Binaries Tests
                Action       Time    Millis
            ----------  --------- ---------
                Bin-co:  3:00.508    180508
            Bin-up-r25:  0:05.860      5860
                Bin-sw:  2:54.509    174509
           Bin-cleanup:  0:00.045        45
                Bin-rm:  0:03.883      3883
                Bin-st:  0:00.333       333
            Bin-commit:  0:46.624     46624
                Bin-mv:  0:02.901      2901
             Bin-st-mv:  0:00.328       328
            Bin-commit:  0:46.894     46894

===================  END RESULTS ==================
  Total execution time: 56:30.161   3390161

Results in wiki format:

Basic Tests:
| 1.7.0-dev | r1083961 | 0:05.956 | 0:06.505 | 0:03.221 | 0:03.005 | 0:00.100 | 
0:14.245

Merge Tests:
| 1.7.0-dev | r1083961 | 0:02.664 | 0:01.225 | 0:02.819 | 0:10.341

Folder Tests:
| 1.7.0-dev | r1083961 | 8:55.823 | 0:01.080 | 30:03.992 | 8:03.296

Binaries Tests:
| 1.7.0-dev | r1083961 | 3:00.508 | 0:05.860 | 2:54.509 | 0:00.045 | 0:03.883 | 
0:00.333 | 0:46.624 | 0:02.901 | 0:00.328 | 0:46.894

Reply via email to