On Sun, Mar 27, 2011 at 4:51 AM, Mark Phippard <[email protected]> wrote:
> On Fri, Mar 25, 2011 at 1:33 PM, Mark Phippard <[email protected]> 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