You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Sperling <st...@elego.de> on 2011/04/07 13:29:01 UTC

some more performance benchmarks

Neels has set up his performance benchmarks to run on the svn VM
we have at apache.org.

The tests only use ra_Local and are supposed to measure wc-ng
performance, not httpv2. They focus on edge cases and are thus a
good addition to Mark Phippard's test which focus more on real world usage.

Below are the results of the latest run.
They're probably a bit hard to decipher as is. The plan is to make the
scripts produce more easily digestable results and then send results
to dev@ on a weekly basis.

As far as I can tell, these numbers indicate that trunk is on-par
with 1.6.x except for delete operations.


------8<---------------------------------------------------------------

/home/neels/svnbench/20110407-002451
Started at Thu Apr  7 00:24:51 UTC 2011



Hi, going to run a Subversion benchmark series of 6 runs...
Going to write results to new file 5x5_1.6

Running svn benchmark in /tmp/tmpIyTMUN
dir levels: 5; new files and dirs per leaf: 5; run 1 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:05:30.543596
    N   min     max     avg    operation  (unit is seconds)
    1 330.544 330.544 330.544  TOTAL RUN
  139   0.008   1.703   0.021  add
    2   0.013   7.599   3.806  checkout
    8   6.181  39.123  14.115  commit
    1   0.030   0.030   0.030  copy
    1   4.294   4.294   4.294  delete
    2   8.935  10.962   9.949  merge
  164   0.009   0.011   0.010  mkdir
 1091   0.009   2.935   0.016  prop mod
   41   0.009   0.496   0.038  propdel
 2076   0.008   0.221   0.009  proplist
 4235   0.009   1.140   0.012  propset
    2   0.009   0.010   0.009  resolve
    2   0.587   0.919   0.753  resolved
   14   0.179   0.678   0.443  status
    1   8.425   8.425   8.425  switch
   15   0.151  13.000   5.016  update

Running svn benchmark in /tmp/tmp0eRvwQ
dir levels: 5; new files and dirs per leaf: 5; run 2 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:06:39.571401
    N   min     max     avg    operation  (unit is seconds)
    2 330.544 399.571 365.057  TOTAL RUN
  321   0.008   3.322   0.025  add
    4   0.013  11.839   4.866  checkout
   16   6.181  45.586  15.683  commit
    2   0.030   0.507   0.268  copy
    2   4.294   7.881   6.088  delete
    4   6.898  21.264  12.015  merge
  327   0.009   0.047   0.010  mkdir
 2129   0.009   2.935   0.016  prop mod
   85   0.009   0.496   0.030  propdel
 4156   0.008   0.221   0.009  proplist
 8375   0.009   1.592   0.013  propset
    4   0.009   0.010   0.010  resolve
    4   0.370   0.919   0.609  resolved
   28   0.179   0.781   0.472  status
    2   8.425  14.073  11.249  switch
   30   0.150  16.130   5.375  update

Running svn benchmark in /tmp/tmplxnWwz
dir levels: 5; new files and dirs per leaf: 5; run 3 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:07:38.478860
    N   min     max     avg    operation  (unit is seconds)
    3 330.544 458.479 396.198  TOTAL RUN
  473   0.008   3.686   0.029  add
    6   0.013  17.112   6.098  checkout
   24   6.181  45.586  16.385  commit
    3   0.030   0.894   0.477  copy
    3   2.313   7.881   4.829  delete
    6   6.898  21.264  14.159  merge
  503   0.009   2.464   0.017  mkdir
 3201   0.009   2.935   0.017  prop mod
  142   0.009   0.496   0.035  propdel
 6294   0.008   0.381   0.009  proplist
12550   0.009   2.034   0.014  propset
    6   0.009   0.010   0.009  resolve
    6   0.342   1.900   0.780  resolved
   42   0.179   0.839   0.466  status
    3   8.425  14.363  12.287  switch
   45   0.150  24.437   5.951  update

Running svn benchmark in /tmp/tmpj3o2lh
dir levels: 5; new files and dirs per leaf: 5; run 4 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:06:54.330198
    N   min     max     avg    operation  (unit is seconds)
    4 330.544 458.479 400.731  TOTAL RUN
  653   0.008   3.751   0.030  add
    8   0.013  17.112   6.229  checkout
   32   6.181  45.586  16.641  commit
    4   0.030   0.894   0.370  copy
    4   2.313   7.881   5.106  delete
    8   6.898  21.264  13.998  merge
  683   0.009   2.464   0.016  mkdir
 4273   0.009   2.935   0.017  prop mod
  182   0.009   0.496   0.034  propdel
 8401   0.008   0.381   0.009  proplist
16686   0.009   3.145   0.014  propset
    8   0.009   0.010   0.009  resolve
    8   0.342   2.710   1.006  resolved
   56   0.179   0.958   0.472  status
    4   8.425  14.363  12.247  switch
   60   0.150  24.437   5.991  update

Running svn benchmark in /tmp/tmpeLkKCX
dir levels: 5; new files and dirs per leaf: 5; run 5 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:06:26.682095
    N   min     max     avg    operation  (unit is seconds)
    5 330.544 458.479 397.921  TOTAL RUN
  805   0.008   3.751   0.030  add
   10   0.013  17.112   6.617  checkout
   40   6.181  45.586  16.500  commit
    5   0.030   0.894   0.390  copy
    5   2.313   7.881   4.596  delete
   10   6.898  21.264  13.349  merge
  829   0.009   2.464   0.015  mkdir
 5303   0.009   2.935   0.017  prop mod
  215   0.009   0.496   0.033  propdel
10530   0.008   0.381   0.009  proplist
20743   0.009   3.145   0.014  propset
   10   0.009   0.010   0.009  resolve
   10   0.334   2.710   0.925  resolved
   70   0.179   0.958   0.472  status
    5   8.425  14.363  11.515  switch
   75   0.150  24.437   6.072  update

Running svn benchmark in /tmp/tmpda5G0S
dir levels: 5; new files and dirs per leaf: 5; run 6 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:09:21.405688
    N   min     max     avg    operation  (unit is seconds)
    6 330.544 561.406 425.169  TOTAL RUN
  955   0.008   3.820   0.031  add
   12   0.013  20.311   7.208  checkout
   48   6.181  53.167  17.509  commit
    6   0.030   0.894   0.436  copy
    6   2.313   7.881   4.588  delete
   12   6.898  21.264  14.617  merge
  974   0.009   2.464   0.015  mkdir
 6384   0.009   2.935   0.018  prop mod
  252   0.009   0.496   0.033  propdel
12632   0.008   0.381   0.009  proplist
24856   0.009   5.959   0.015  propset
   12   0.009   0.010   0.009  resolve
   12   0.334   2.710   0.958  resolved
   84   0.179   0.958   0.470  status
    6   8.425  15.409  12.164  switch
   90   0.150  31.070   6.764  update


Hi, going to run a Subversion benchmark series of 6 runs...
Going to write results to new file 5x5_trunk

Running svn benchmark in /tmp/tmpovNKl3
dir levels: 5; new files and dirs per leaf: 5; run 1 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:07:41.871009
    N   min     max     avg    operation  (unit is seconds)
    1 461.871 461.871 461.871  TOTAL RUN
  139   0.011   1.724   0.032  add
    2   0.025   6.626   3.325  checkout
    8   5.186  23.987  13.493  commit
    1   0.038   0.038   0.038  copy
    1 120.950 120.950 120.950  delete
    2  10.837  13.988  12.413  merge
  164   0.011   0.573   0.021  mkdir
 1091   0.011   0.077   0.017  prop mod
   41   0.012   0.076   0.021  propdel
 2076   0.010   0.096   0.016  proplist
 4235   0.011   0.543   0.017  propset
    2   0.010   0.010   0.010  resolve
    2   0.922   1.773   1.348  resolved
   14   0.252   2.528   0.927  status
    1   6.508   6.508   6.508  switch
   15   0.289   8.148   2.912  update

Running svn benchmark in /tmp/tmpCwCsGe
dir levels: 5; new files and dirs per leaf: 5; run 2 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:08:04.488720
    N   min     max     avg    operation  (unit is seconds)
    2 461.871 484.489 473.180  TOTAL RUN
  321   0.011   1.988   0.031  add
    4   0.025   8.391   3.767  checkout
   16   4.483  28.344  13.952  commit
    2   0.038   0.048   0.043  copy
    2 120.950 130.853 125.902  delete
    4  10.544  13.988  11.731  merge
  327   0.011   0.573   0.019  mkdir
 2129   0.011   0.109   0.017  prop mod
   85   0.011   0.076   0.019  propdel
 4156   0.010   0.102   0.016  proplist
 8375   0.011   0.543   0.017  propset
    4   0.010   0.011   0.011  resolve
    4   0.922   2.053   1.514  resolved
   28   0.252   2.603   0.976  status
    2   5.743   6.508   6.126  switch
   30   0.245   9.084   3.006  update

Running svn benchmark in /tmp/tmpaXahGN
dir levels: 5; new files and dirs per leaf: 5; run 3 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:07:42.478464
    N   min     max     avg    operation  (unit is seconds)
    3 461.871 484.489 469.613  TOTAL RUN
  473   0.011   2.089   0.031  add
    6   0.025   8.391   3.789  checkout
   24   4.483  28.344  13.883  commit
    3   0.038   0.062   0.050  copy
    3 120.950 130.853 124.867  delete
    6   9.075  13.988  11.258  merge
  503   0.011   0.573   0.019  mkdir
 3201   0.011   0.316   0.017  prop mod
  142   0.011   0.076   0.018  propdel
 6294   0.010   0.102   0.016  proplist
12550   0.011   0.543   0.017  propset
    6   0.010   0.011   0.011  resolve
    6   0.922   2.380   1.625  resolved
   42   0.252   2.603   1.004  status
    3   5.743   6.508   6.018  switch
   45   0.245   9.390   2.998  update

Running svn benchmark in /tmp/tmpww_2_Q
dir levels: 5; new files and dirs per leaf: 5; run 4 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:07:23.774131
    N   min     max     avg    operation  (unit is seconds)
    4 443.774 484.489 463.153  TOTAL RUN
  653   0.011   2.411   0.031  add
    8   0.025   8.391   3.882  checkout
   32   3.908  28.344  13.837  commit
    4   0.028   0.062   0.044  copy
    4 102.673 130.853 119.319  delete
    8   8.591  20.045  12.023  merge
  683   0.011   0.647   0.019  mkdir
 4273   0.011   0.316   0.017  prop mod
  182   0.011   0.076   0.017  propdel
 8401   0.010   0.102   0.015  proplist
16686   0.011   0.543   0.017  propset
    8   0.010   0.011   0.011  resolve
    8   0.922   2.380   1.550  resolved
   56   0.252   2.932   0.996  status
    4   5.743   6.508   6.038  switch
   60   0.245   9.390   2.957  update

Running svn benchmark in /tmp/tmpKjP2n0
dir levels: 5; new files and dirs per leaf: 5; run 5 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:06:20.290688
    N   min     max     avg    operation  (unit is seconds)
    5 380.291 484.489 446.581  TOTAL RUN
  805   0.011   2.411   0.030  add
   10   0.025   8.391   3.733  checkout
   40   3.908  28.344  13.516  commit
    5   0.027   0.062   0.041  copy
    5 102.673 130.853 116.274  delete
   10   8.591  20.045  11.545  merge
  829   0.011   0.647   0.018  mkdir
 5303   0.011   0.548   0.016  prop mod
  215   0.011   0.076   0.016  propdel
10530   0.010   0.102   0.014  proplist
20743   0.011   0.543   0.016  propset
   10   0.010   0.023   0.012  resolve
   10   0.922   2.380   1.529  resolved
   70   0.252   2.932   0.971  status
    5   5.069   6.508   5.844  switch
   75   0.245   9.390   2.867  update

Running svn benchmark in /tmp/tmp9OI77O
dir levels: 5; new files and dirs per leaf: 5; run 6 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:06:49.024624
    N   min     max     avg    operation  (unit is seconds)
    6 380.291 484.489 440.321  TOTAL RUN
  955   0.011   2.411   0.029  add
   12   0.024   8.391   3.699  checkout
   48   3.864  28.344  13.460  commit
    6   0.027   0.116   0.053  copy
    6 102.673 130.853 114.028  delete
   12   8.591  20.045  11.233  merge
  974   0.011   0.647   0.018  mkdir
 6384   0.011   0.548   0.016  prop mod
  252   0.011   0.076   0.016  propdel
12632   0.010   0.102   0.014  proplist
24856   0.011   0.543   0.016  propset
   12   0.010   0.023   0.012  resolve
   12   0.922   2.380   1.499  resolved
   84   0.252   2.932   0.958  status
    6   5.069   6.508   5.722  switch
   90   0.244   9.390   2.847  update

Results for dir levels: 5  spread: 5
Timings for 5x5_1.6
    N   min     max     avg    operation  (unit is seconds)
    6 330.544 561.406 425.169  TOTAL RUN
  955   0.008   3.820   0.031  add
   12   0.013  20.311   7.208  checkout
   48   6.181  53.167  17.509  commit
    6   0.030   0.894   0.436  copy
    6   2.313   7.881   4.588  delete
   12   6.898  21.264  14.617  merge
  974   0.009   2.464   0.015  mkdir
 6384   0.009   2.935   0.018  prop mod
  252   0.009   0.496   0.033  propdel
12632   0.008   0.381   0.009  proplist
24856   0.009   5.959   0.015  propset
   12   0.009   0.010   0.009  resolve
   12   0.334   2.710   0.958  resolved
   84   0.179   0.958   0.470  status
    6   8.425  15.409  12.164  switch
   90   0.150  31.070   6.764  update
---
Timings for 5x5_trunk
    N   min     max     avg    operation  (unit is seconds)
    6 380.291 484.489 440.321  TOTAL RUN
  955   0.011   2.411   0.029  add
   12   0.024   8.391   3.699  checkout
   48   3.864  28.344  13.460  commit
    6   0.027   0.116   0.053  copy
    6 102.673 130.853 114.028  delete
   12   8.591  20.045  11.233  merge
  974   0.011   0.647   0.018  mkdir
 6384   0.011   0.548   0.016  prop mod
  252   0.011   0.076   0.016  propdel
12632   0.010   0.102   0.014  proplist
24856   0.011   0.543   0.016  propset
   12   0.010   0.023   0.012  resolve
   12   0.922   2.380   1.499  resolved
   84   0.252   2.932   0.958  status
    6   5.069   6.508   5.722  switch
   90   0.244   9.390   2.847  update
---
COMPARE 5x5_1.6 to 5x5_trunk
  1.23|+0.45  means factor=1.23, difference in seconds = 0.45
  factor < 1 or difference < 0 means '5x5_trunk' is faster than '5x5_1.6'
      min              max              avg         operation
  1.151|+49.7471   0.863|-76.9170   1.036|+15.1526  TOTAL RUN
  1.322|+0.0026    0.631|-1.4086    0.938|-0.0019   add
  1.864|+0.0113    0.413|-11.9194   0.513|-3.5088   checkout
  0.625|-2.3169    0.533|-24.8236   0.769|-4.0490   commit
  0.899|-0.0030    0.129|-0.7784    0.122|-0.3825   copy
 44.382|+100.3599  16.604|+122.9722  24.856|+109.4408  delete
  1.245|+1.6928    0.943|-1.2191    0.768|-3.3842   merge
  1.258|+0.0023    0.263|-1.8166    1.189|+0.0028   mkdir
  1.256|+0.0022    0.187|-2.3871    0.910|-0.0016   prop mod
  1.237|+0.0021    0.153|-0.4198    0.480|-0.0174   propdel
  1.267|+0.0020    0.267|-0.2795    1.544|+0.0050   proplist
  1.267|+0.0023    0.091|-5.4157    1.018|+0.0003   propset
  1.148|+0.0013    2.347|+0.0133    1.254|+0.0024   resolve
  2.764|+0.5885    0.878|-0.3298    1.565|+0.5413   resolved
  1.410|+0.0733    3.061|+1.9744    2.038|+0.4877   status
  0.602|-3.3563    0.422|-8.9009    0.470|-6.4426   switch
  1.622|+0.0934    0.302|-21.6808   0.421|-3.9173   update


Hi, going to run a Subversion benchmark series of 6 runs...
Going to write results to new file 100x1_1.6

Running svn benchmark in /tmp/tmpLbeiSz
dir levels: 100; new files and dirs per leaf: 1; run 1 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:01:12.712391
    N   min     max     avg    operation  (unit is seconds)
    1  72.712  72.712  72.712  TOTAL RUN
   23   0.009   0.718   0.040  add
    2   0.015   6.887   3.451  checkout
    8   0.955   1.950   1.330  commit
    1   0.027   0.027   0.027  copy
    1   0.415   0.415   0.415  delete
    2   0.716   1.397   1.056  merge
   20   0.009   0.012   0.011  mkdir
   64   0.009   0.011   0.010  prop mod
    5   0.009   0.099   0.028  propdel
  115   0.008   0.010   0.009  proplist
  194   0.009   0.247   0.013  propset
    2   0.009   0.009   0.009  resolve
    2   0.083   0.140   0.112  resolved
   14   0.065   0.166   0.118  status
    1   4.460   4.460   4.460  switch
   15   0.072   6.318   2.686  update

Running svn benchmark in /tmp/tmpT7RIDI
dir levels: 100; new files and dirs per leaf: 1; run 2 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:01:14.990382
    N   min     max     avg    operation  (unit is seconds)
    2  72.712  74.990  73.851  TOTAL RUN
   43   0.008   0.718   0.040  add
    4   0.013   6.887   3.203  checkout
   16   0.814   2.037   1.248  commit
    2   0.027   0.160   0.094  copy
    2   0.415   0.457   0.436  delete
    4   0.716   1.397   0.985  merge
   46   0.009   0.032   0.012  mkdir
  131   0.009   0.019   0.010  prop mod
    7   0.009   0.099   0.030  propdel
  248   0.008   0.017   0.009  proplist
  371   0.009   0.247   0.012  propset
    4   0.008   0.009   0.009  resolve
    4   0.083   0.158   0.120  resolved
   28   0.065   0.188   0.119  status
    2   4.460   5.042   4.751  switch
   30   0.072   7.590   2.851  update

Running svn benchmark in /tmp/tmpH32c17
dir levels: 100; new files and dirs per leaf: 1; run 3 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:01:14.629023
    N   min     max     avg    operation  (unit is seconds)
    3  72.712  74.990  74.111  TOTAL RUN
   71   0.008   0.718   0.034  add
    6   0.013   6.887   3.133  checkout
   24   0.782   2.142   1.171  commit
    3   0.024   0.160   0.070  copy
    3   0.365   0.457   0.413  delete
    6   0.716   1.397   1.015  merge
   71   0.009   0.032   0.012  mkdir
  204   0.009   0.152   0.011  prop mod
    7   0.009   0.099   0.030  propdel
  386   0.008   0.017   0.009  proplist
  558   0.009   0.408   0.012  propset
    6   0.008   0.010   0.009  resolve
    6   0.083   0.158   0.123  resolved
   42   0.065   0.188   0.119  status
    3   4.460   5.301   4.934  switch
   45   0.072   7.590   2.898  update

Running svn benchmark in /tmp/tmpbepUwG
dir levels: 100; new files and dirs per leaf: 1; run 4 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:01:13.213827
    N   min     max     avg    operation  (unit is seconds)
    4  72.712  74.990  73.886  TOTAL RUN
   98   0.008   0.718   0.034  add
    8   0.013   6.887   3.110  checkout
   32   0.705   2.158   1.170  commit
    4   0.024   0.160   0.060  copy
    4   0.288   0.457   0.382  delete
    8   0.716   1.397   1.000  merge
   90   0.009   0.032   0.011  mkdir
  266   0.009   0.152   0.011  prop mod
   10   0.009   0.099   0.024  propdel
  509   0.008   0.017   0.009  proplist
  743   0.009   0.408   0.012  propset
    8   0.008   0.010   0.009  resolve
    8   0.083   0.158   0.124  resolved
   56   0.065   0.261   0.120  status
    4   4.460   5.301   4.916  switch
   60   0.072   7.590   2.900  update

Running svn benchmark in /tmp/tmp3jGNt1
dir levels: 100; new files and dirs per leaf: 1; run 5 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:01:16.413093
    N   min     max     avg    operation  (unit is seconds)
    5  72.712  76.413  74.392  TOTAL RUN
  119   0.008   0.718   0.034  add
   10   0.013   6.887   3.132  checkout
   40   0.705   2.158   1.165  commit
    5   0.024   0.160   0.074  copy
    5   0.288   0.457   0.387  delete
   10   0.716   1.397   0.996  merge
  108   0.009   0.032   0.011  mkdir
  329   0.009   0.152   0.011  prop mod
   13   0.009   0.099   0.020  propdel
  642   0.008   0.017   0.009  proplist
  917   0.009   0.408   0.012  propset
   10   0.008   0.010   0.009  resolve
   10   0.083   0.159   0.124  resolved
   70   0.065   0.261   0.121  status
    5   4.460   5.462   5.025  switch
   75   0.072   7.590   2.931  update

Running svn benchmark in /tmp/tmpdbKHJ6
dir levels: 100; new files and dirs per leaf: 1; run 6 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:01:16.609033
    N   min     max     avg    operation  (unit is seconds)
    6  72.712  76.609  74.761  TOTAL RUN
  141   0.008   0.718   0.034  add
   12   0.013   6.887   3.112  checkout
   48   0.660   2.239   1.155  commit
    6   0.023   0.160   0.066  copy
    6   0.288   0.457   0.376  delete
   12   0.716   1.397   0.989  merge
  131   0.009   0.032   0.011  mkdir
  379   0.009   0.152   0.011  prop mod
   14   0.009   0.099   0.020  propdel
  759   0.008   0.017   0.009  proplist
 1099   0.009   0.408   0.012  propset
   12   0.008   0.010   0.009  resolve
   12   0.083   0.173   0.126  resolved
   84   0.065   0.261   0.124  status
    6   4.460   5.462   5.095  switch
   90   0.072   7.590   2.962  update


Hi, going to run a Subversion benchmark series of 6 runs...
Going to write results to new file 100x1_trunk

Running svn benchmark in /tmp/tmp5CMQJO
dir levels: 100; new files and dirs per leaf: 1; run 1 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:26.835246
    N   min     max     avg    operation  (unit is seconds)
    1  26.835  26.835  26.835  TOTAL RUN
   23   0.011   0.149   0.020  add
    2   0.025   0.517   0.271  checkout
    8   0.326   1.637   0.901  commit
    1   0.041   0.041   0.041  copy
    1   2.496   2.496   2.496  delete
    2   0.782   0.864   0.823  merge
   20   0.012   0.019   0.015  mkdir
   64   0.011   0.018   0.014  prop mod
    5   0.011   0.016   0.013  propdel
  115   0.010   0.016   0.013  proplist
  194   0.012   0.019   0.015  propset
    2   0.010   0.011   0.011  resolve
    2   0.103   0.172   0.138  resolved
   14   0.062   0.604   0.174  status
    1   0.511   0.511   0.511  switch
   15   0.067   0.729   0.360  update

Running svn benchmark in /tmp/tmpwlT5VK
dir levels: 100; new files and dirs per leaf: 1; run 2 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:27.925119
    N   min     max     avg    operation  (unit is seconds)
    2  26.835  27.925  27.380  TOTAL RUN
   43   0.011   0.169   0.021  add
    4   0.025   0.548   0.279  checkout
   16   0.326   2.141   0.899  commit
    2   0.021   0.041   0.031  copy
    2   2.496   2.683   2.589  delete
    4   0.741   0.945   0.833  merge
   46   0.012   0.019   0.015  mkdir
  131   0.011   0.018   0.015  prop mod
    7   0.011   0.018   0.014  propdel
  248   0.010   0.022   0.013  proplist
  371   0.011   0.019   0.015  propset
    4   0.010   0.011   0.010  resolve
    4   0.103   0.183   0.142  resolved
   28   0.062   0.638   0.180  status
    2   0.511   0.551   0.531  switch
   30   0.067   0.772   0.372  update

Running svn benchmark in /tmp/tmpXqDK9d
dir levels: 100; new files and dirs per leaf: 1; run 3 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:27.232233
    N   min     max     avg    operation  (unit is seconds)
    3  26.835  27.925  27.331  TOTAL RUN
   71   0.011   0.169   0.020  add
    6   0.024   0.548   0.278  checkout
   24   0.326   2.141   0.872  commit
    3   0.021   0.041   0.028  copy
    3   2.496   2.754   2.644  delete
    6   0.741   0.945   0.835  merge
   71   0.012   0.020   0.015  mkdir
  204   0.011   0.018   0.014  prop mod
    7   0.011   0.018   0.014  propdel
  386   0.010   0.022   0.013  proplist
  558   0.011   0.019   0.015  propset
    6   0.010   0.011   0.010  resolve
    6   0.103   0.190   0.145  resolved
   42   0.062   0.638   0.180  status
    3   0.511   0.551   0.535  switch
   45   0.067   0.772   0.375  update

Running svn benchmark in /tmp/tmp7qnuJz
dir levels: 100; new files and dirs per leaf: 1; run 4 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:27.175945
    N   min     max     avg    operation  (unit is seconds)
    4  26.835  27.925  27.292  TOTAL RUN
   98   0.011   0.169   0.020  add
    8   0.024   0.548   0.278  checkout
   32   0.326   2.141   0.863  commit
    4   0.021   0.041   0.027  copy
    4   2.496   2.839   2.693  delete
    8   0.741   0.952   0.848  merge
   90   0.012   0.020   0.015  mkdir
  266   0.011   0.019   0.014  prop mod
   10   0.011   0.018   0.013  propdel
  509   0.010   0.022   0.013  proplist
  743   0.011   0.019   0.015  propset
    8   0.010   0.011   0.010  resolve
    8   0.103   0.190   0.146  resolved
   56   0.062   0.638   0.180  status
    4   0.511   0.551   0.534  switch
   60   0.067   0.811   0.377  update

Running svn benchmark in /tmp/tmpA1fnxG
dir levels: 100; new files and dirs per leaf: 1; run 5 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:27.974462
    N   min     max     avg    operation  (unit is seconds)
    5  26.835  27.974  27.429  TOTAL RUN
  119   0.011   0.169   0.021  add
   10   0.024   0.558   0.281  checkout
   40   0.326   2.141   0.873  commit
    5   0.021   0.041   0.026  copy
    5   2.496   2.839   2.686  delete
   10   0.741   0.967   0.856  merge
  108   0.012   0.020   0.015  mkdir
  329   0.011   0.019   0.014  prop mod
   13   0.011   0.018   0.013  propdel
  642   0.010   0.022   0.013  proplist
  917   0.011   0.020   0.015  propset
   10   0.010   0.011   0.010  resolve
   10   0.103   0.190   0.146  resolved
   70   0.062   0.653   0.179  status
    5   0.511   0.570   0.541  switch
   75   0.067   0.811   0.381  update

Running svn benchmark in /tmp/tmpJ4XWJb
dir levels: 100; new files and dirs per leaf: 1; run 6 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:30.905283
    N   min     max     avg    operation  (unit is seconds)
    6  26.835  30.905  28.008  TOTAL RUN
  141   0.011   0.169   0.021  add
   12   0.024   0.830   0.305  checkout
   48   0.326   2.141   0.888  commit
    6   0.021   0.059   0.032  copy
    6   2.496   2.839   2.710  delete
   12   0.741   1.026   0.870  merge
  131   0.012   0.055   0.016  mkdir
  379   0.011   0.058   0.015  prop mod
   14   0.011   0.018   0.013  propdel
  759   0.010   0.061   0.013  proplist
 1099   0.011   0.074   0.015  propset
   12   0.010   0.011   0.010  resolve
   12   0.103   0.192   0.147  resolved
   84   0.062   0.658   0.181  status
    6   0.511   0.599   0.551  switch
   90   0.067   0.891   0.391  update

Results for dir levels: 100  spread: 1
Timings for 100x1_1.6
    N   min     max     avg    operation  (unit is seconds)
    6  72.712  76.609  74.761  TOTAL RUN
  141   0.008   0.718   0.034  add
   12   0.013   6.887   3.112  checkout
   48   0.660   2.239   1.155  commit
    6   0.023   0.160   0.066  copy
    6   0.288   0.457   0.376  delete
   12   0.716   1.397   0.989  merge
  131   0.009   0.032   0.011  mkdir
  379   0.009   0.152   0.011  prop mod
   14   0.009   0.099   0.020  propdel
  759   0.008   0.017   0.009  proplist
 1099   0.009   0.408   0.012  propset
   12   0.008   0.010   0.009  resolve
   12   0.083   0.173   0.126  resolved
   84   0.065   0.261   0.124  status
    6   4.460   5.462   5.095  switch
   90   0.072   7.590   2.962  update
---
Timings for 100x1_trunk
    N   min     max     avg    operation  (unit is seconds)
    6  26.835  30.905  28.008  TOTAL RUN
  141   0.011   0.169   0.021  add
   12   0.024   0.830   0.305  checkout
   48   0.326   2.141   0.888  commit
    6   0.021   0.059   0.032  copy
    6   2.496   2.839   2.710  delete
   12   0.741   1.026   0.870  merge
  131   0.012   0.055   0.016  mkdir
  379   0.011   0.058   0.015  prop mod
   14   0.011   0.018   0.013  propdel
  759   0.010   0.061   0.013  proplist
 1099   0.011   0.074   0.015  propset
   12   0.010   0.011   0.010  resolve
   12   0.103   0.192   0.147  resolved
   84   0.062   0.658   0.181  status
    6   0.511   0.599   0.551  switch
   90   0.067   0.891   0.391  update
---
COMPARE 100x1_1.6 to 100x1_trunk
  1.23|+0.45  means factor=1.23, difference in seconds = 0.45
  factor < 1 or difference < 0 means '100x1_trunk' is faster than '100x1_1.6'
      min              max              avg         operation
  0.369|-45.8771   0.403|-45.7037   0.375|-46.7532  TOTAL RUN
  1.343|+0.0029    0.235|-0.5490    0.625|-0.0128   add
  1.797|+0.0106    0.121|-6.0566    0.098|-2.8065   checkout
  0.494|-0.3340    0.956|-0.0983    0.768|-0.2675   commit
  0.920|-0.0018    0.369|-0.1012    0.483|-0.0339   copy
  8.650|+2.2071    6.214|+2.3825    7.211|+2.3340   delete
  1.035|+0.0251    0.734|-0.3708    0.879|-0.1196   merge
  1.263|+0.0024    1.715|+0.0230    1.438|+0.0050   mkdir
  1.251|+0.0022    0.380|-0.0941    1.437|+0.0046   prop mod
  1.208|+0.0019    0.179|-0.0809    0.657|-0.0067   propdel
  1.263|+0.0021    3.673|+0.0447    1.523|+0.0045   proplist
  1.251|+0.0022    0.182|-0.3340    1.276|+0.0033   propset
  1.177|+0.0015    1.040|+0.0004    1.148|+0.0013   resolve
  1.243|+0.0202    1.110|+0.0190    1.169|+0.0213   resolved
  0.956|-0.0029    2.521|+0.3971    1.467|+0.0577   status
  0.115|-3.9488    0.110|-4.8625    0.108|-4.5442   switch
  0.923|-0.0056    0.117|-6.6983    0.132|-2.5707   update


Hi, going to run a Subversion benchmark series of 6 runs...
Going to write results to new file 1x100_1.6

Running svn benchmark in /tmp/tmp40sQWe
dir levels: 1; new files and dirs per leaf: 100; run 1 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:00:05.536515
    N   min     max     avg    operation  (unit is seconds)
    1   5.537   5.537   5.537  TOTAL RUN
    1   0.184   0.184   0.184  add
    2   0.013   0.102   0.058  checkout
    8   0.087   0.242   0.173  commit
    1   0.022   0.022   0.022  copy
    1   0.098   0.098   0.098  delete
    2   0.182   0.303   0.242  merge
   31   0.010   0.146   0.015  prop mod
    4   0.011   0.011   0.011  propdel
   48   0.009   0.010   0.009  proplist
   98   0.010   0.017   0.011  propset
    2   0.009   0.010   0.010  resolve
    2   0.011   0.017   0.014  resolved
   14   0.011   0.020   0.016  status
    1   0.099   0.099   0.099  switch
   15   0.013   0.183   0.053  update

Running svn benchmark in /tmp/tmp8HfWGt
dir levels: 1; new files and dirs per leaf: 100; run 2 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:00:04.559893
    N   min     max     avg    operation  (unit is seconds)
    2   4.560   5.537   5.048  TOTAL RUN
    2   0.051   0.184   0.117  add
    4   0.013   0.102   0.056  checkout
   16   0.080   0.242   0.163  commit
    2   0.021   0.022   0.021  copy
    2   0.089   0.098   0.093  delete
    4   0.182   0.303   0.228  merge
   51   0.010   0.146   0.013  prop mod
    4   0.011   0.011   0.011  propdel
   85   0.009   0.010   0.009  proplist
  176   0.010   0.017   0.011  propset
    4   0.009   0.011   0.010  resolve
    4   0.011   0.022   0.016  resolved
   28   0.011   0.020   0.016  status
    2   0.099   0.103   0.101  switch
   30   0.013   0.189   0.053  update

Running svn benchmark in /tmp/tmp72L_AW
dir levels: 1; new files and dirs per leaf: 100; run 3 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:00:05.026687
    N   min     max     avg    operation  (unit is seconds)
    3   4.560   5.537   5.041  TOTAL RUN
    3   0.051   0.245   0.160  add
    6   0.013   0.102   0.056  checkout
   24   0.080   0.242   0.162  commit
    3   0.019   0.022   0.021  copy
    3   0.089   0.098   0.094  delete
    6   0.182   0.303   0.226  merge
   62   0.010   0.146   0.013  prop mod
    4   0.011   0.011   0.011  propdel
  115   0.009   0.048   0.010  proplist
  272   0.010   0.017   0.011  propset
    6   0.009   0.011   0.010  resolve
    6   0.011   0.022   0.015  resolved
   42   0.011   0.038   0.016  status
    3   0.099   0.119   0.107  switch
   45   0.013   0.189   0.054  update

Running svn benchmark in /tmp/tmpB4PDsE
dir levels: 1; new files and dirs per leaf: 100; run 4 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:00:05.190180
    N   min     max     avg    operation  (unit is seconds)
    4   4.560   5.537   5.078  TOTAL RUN
    4   0.047   0.245   0.132  add
    8   0.013   0.124   0.059  checkout
   32   0.080   0.258   0.164  commit
    4   0.019   0.024   0.021  copy
    4   0.089   0.098   0.093  delete
    8   0.182   0.303   0.227  merge
   79   0.010   0.146   0.012  prop mod
    4   0.011   0.011   0.011  propdel
  143   0.008   0.048   0.010  proplist
  369   0.010   0.055   0.011  propset
    8   0.009   0.011   0.010  resolve
    8   0.011   0.028   0.018  resolved
   56   0.011   0.048   0.017  status
    4   0.093   0.119   0.104  switch
   60   0.013   0.210   0.056  update

Running svn benchmark in /tmp/tmpD2Q5kk
dir levels: 1; new files and dirs per leaf: 100; run 5 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:00:04.757104
    N   min     max     avg    operation  (unit is seconds)
    5   4.560   5.537   5.014  TOTAL RUN
    5   0.047   0.315   0.168  add
   10   0.013   0.124   0.058  checkout
   40   0.080   0.258   0.162  commit
    5   0.019   0.024   0.021  copy
    5   0.082   0.098   0.091  delete
   10   0.182   0.303   0.225  merge
   97   0.010   0.146   0.012  prop mod
    4   0.011   0.011   0.011  propdel
  172   0.008   0.048   0.010  proplist
  463   0.010   0.055   0.011  propset
   10   0.008   0.011   0.009  resolve
   10   0.010   0.028   0.017  resolved
   70   0.010   0.048   0.016  status
    5   0.093   0.119   0.103  switch
   75   0.012   0.210   0.055  update

Running svn benchmark in /tmp/tmpDaZ251
dir levels: 1; new files and dirs per leaf: 100; run 6 of 6
svn, version 1.6.17 (dev build),    compiled Apr  5 2011, 11:14:17

Done with svn benchmark in 0:00:04.727893
    N   min     max     avg    operation  (unit is seconds)
    6   4.560   5.537   4.966  TOTAL RUN
    6   0.046   0.315   0.148  add
   12   0.013   0.124   0.057  checkout
   48   0.080   0.258   0.161  commit
    6   0.019   0.024   0.021  copy
    6   0.082   0.098   0.090  delete
   12   0.177   0.315   0.228  merge
  122   0.010   0.146   0.011  prop mod
    6   0.010   0.011   0.011  propdel
  212   0.008   0.048   0.010  proplist
  543   0.010   0.055   0.011  propset
   12   0.008   0.032   0.011  resolve
   12   0.010   0.028   0.017  resolved
   84   0.010   0.048   0.016  status
    6   0.093   0.119   0.102  switch
   90   0.012   0.210   0.056  update


Hi, going to run a Subversion benchmark series of 6 runs...
Going to write results to new file 1x100_trunk

Running svn benchmark in /tmp/tmpCKc2Cj
dir levels: 1; new files and dirs per leaf: 100; run 1 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:06.887158
    N   min     max     avg    operation  (unit is seconds)
    1   6.887   6.887   6.887  TOTAL RUN
    1   0.042   0.042   0.042  add
    2   0.027   0.159   0.093  checkout
    8   0.101   0.394   0.262  commit
    1   0.023   0.023   0.023  copy
    1   0.092   0.092   0.092  delete
    2   0.193   0.228   0.210  merge
   31   0.011   0.045   0.014  prop mod
    4   0.011   0.037   0.020  propdel
   48   0.010   0.049   0.014  proplist
   98   0.011   0.021   0.012  propset
    2   0.011   0.011   0.011  resolve
    2   0.035   0.076   0.056  resolved
   14   0.013   0.066   0.025  status
    1   0.094   0.094   0.094  switch
   15   0.026   0.148   0.066  update

Running svn benchmark in /tmp/tmp05MP1c
dir levels: 1; new files and dirs per leaf: 100; run 2 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:05.343976
    N   min     max     avg    operation  (unit is seconds)
    2   5.344   6.887   6.116  TOTAL RUN
    2   0.041   0.042   0.041  add
    4   0.026   0.159   0.089  checkout
   16   0.092   0.416   0.244  commit
    2   0.022   0.023   0.022  copy
    2   0.092   0.093   0.093  delete
    4   0.166   0.228   0.194  merge
   51   0.011   0.045   0.013  prop mod
    4   0.011   0.037   0.020  propdel
   85   0.010   0.049   0.013  proplist
  176   0.011   0.021   0.012  propset
    4   0.010   0.011   0.010  resolve
    4   0.026   0.076   0.043  resolved
   28   0.013   0.066   0.023  status
    2   0.094   0.099   0.096  switch
   30   0.020   0.148   0.060  update

Running svn benchmark in /tmp/tmpTID1L2
dir levels: 1; new files and dirs per leaf: 100; run 3 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:05.405396
    N   min     max     avg    operation  (unit is seconds)
    3   5.344   6.887   5.879  TOTAL RUN
    3   0.038   0.042   0.040  add
    6   0.025   0.159   0.088  checkout
   24   0.090   0.416   0.237  commit
    3   0.021   0.023   0.022  copy
    3   0.090   0.093   0.092  delete
    6   0.156   0.228   0.187  merge
   62   0.011   0.045   0.013  prop mod
    4   0.011   0.037   0.020  propdel
  115   0.010   0.049   0.012  proplist
  272   0.011   0.021   0.012  propset
    6   0.010   0.011   0.010  resolve
    6   0.025   0.076   0.039  resolved
   42   0.013   0.066   0.023  status
    3   0.094   0.099   0.096  switch
   45   0.019   0.148   0.058  update

Running svn benchmark in /tmp/tmpLFT1zR
dir levels: 1; new files and dirs per leaf: 100; run 4 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:06.050390
    N   min     max     avg    operation  (unit is seconds)
    4   5.344   6.887   5.922  TOTAL RUN
    4   0.036   0.042   0.039  add
    8   0.025   0.159   0.087  checkout
   32   0.090   0.416   0.243  commit
    4   0.021   0.023   0.022  copy
    4   0.090   0.105   0.095  delete
    8   0.156   0.237   0.197  merge
   79   0.011   0.045   0.013  prop mod
    4   0.011   0.037   0.020  propdel
  143   0.010   0.049   0.012  proplist
  369   0.011   0.021   0.012  propset
    8   0.010   0.046   0.015  resolve
    8   0.025   0.076   0.041  resolved
   56   0.012   0.066   0.022  status
    4   0.094   0.099   0.096  switch
   60   0.019   0.148   0.058  update

Running svn benchmark in /tmp/tmpJPYd7z
dir levels: 1; new files and dirs per leaf: 100; run 5 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:05.713691
    N   min     max     avg    operation  (unit is seconds)
    5   5.344   6.887   5.880  TOTAL RUN
    5   0.036   0.042   0.039  add
   10   0.025   0.159   0.086  checkout
   40   0.090   0.416   0.241  commit
    5   0.021   0.023   0.022  copy
    5   0.088   0.105   0.094  delete
   10   0.156   0.237   0.197  merge
   97   0.011   0.045   0.013  prop mod
    4   0.011   0.037   0.020  propdel
  172   0.010   0.049   0.012  proplist
  463   0.011   0.033   0.012  propset
   10   0.010   0.046   0.014  resolve
   10   0.025   0.078   0.043  resolved
   70   0.012   0.066   0.022  status
    5   0.094   0.099   0.096  switch
   75   0.018   0.148   0.058  update

Running svn benchmark in /tmp/tmprSVGYt
dir levels: 1; new files and dirs per leaf: 100; run 6 of 6
svn, version 1.7.0-dev (under development),    compiled Apr  7 2011, 00:21:31

Done with svn benchmark in 0:00:05.678437
    N   min     max     avg    operation  (unit is seconds)
    6   5.344   6.887   5.847  TOTAL RUN
    6   0.036   0.053   0.041  add
   12   0.024   0.159   0.087  checkout
   48   0.090   0.416   0.239  commit
    6   0.021   0.027   0.022  copy
    6   0.088   0.105   0.093  delete
   12   0.156   0.237   0.194  merge
  122   0.011   0.045   0.013  prop mod
    6   0.011   0.037   0.017  propdel
  212   0.010   0.049   0.012  proplist
  543   0.011   0.064   0.012  propset
   12   0.010   0.046   0.013  resolve
   12   0.025   0.078   0.041  resolved
   84   0.012   0.066   0.022  status
    6   0.092   0.099   0.095  switch
   90   0.018   0.153   0.057  update

Results for dir levels: 1  spread: 100
Timings for 1x100_1.6
    N   min     max     avg    operation  (unit is seconds)
    6   4.560   5.537   4.966  TOTAL RUN
    6   0.046   0.315   0.148  add
   12   0.013   0.124   0.057  checkout
   48   0.080   0.258   0.161  commit
    6   0.019   0.024   0.021  copy
    6   0.082   0.098   0.090  delete
   12   0.177   0.315   0.228  merge
  122   0.010   0.146   0.011  prop mod
    6   0.010   0.011   0.011  propdel
  212   0.008   0.048   0.010  proplist
  543   0.010   0.055   0.011  propset
   12   0.008   0.032   0.011  resolve
   12   0.010   0.028   0.017  resolved
   84   0.010   0.048   0.016  status
    6   0.093   0.119   0.102  switch
   90   0.012   0.210   0.056  update
---
Timings for 1x100_trunk
    N   min     max     avg    operation  (unit is seconds)
    6   5.344   6.887   5.847  TOTAL RUN
    6   0.036   0.053   0.041  add
   12   0.024   0.159   0.087  checkout
   48   0.090   0.416   0.239  commit
    6   0.021   0.027   0.022  copy
    6   0.088   0.105   0.093  delete
   12   0.156   0.237   0.194  merge
  122   0.011   0.045   0.013  prop mod
    6   0.011   0.037   0.017  propdel
  212   0.010   0.049   0.012  proplist
  543   0.011   0.064   0.012  propset
   12   0.010   0.046   0.013  resolve
   12   0.025   0.078   0.041  resolved
   84   0.012   0.066   0.022  status
    6   0.092   0.099   0.095  switch
   90   0.018   0.153   0.057  update
---
COMPARE 1x100_1.6 to 1x100_trunk
  1.23|+0.45  means factor=1.23, difference in seconds = 0.45
  factor < 1 or difference < 0 means '1x100_trunk' is faster than '1x100_1.6'
      min              max              avg         operation
  1.172|+0.7841    1.244|+1.3506    1.177|+0.8801   TOTAL RUN
  0.773|-0.0105    0.169|-0.2621    0.278|-0.1070   add
  1.822|+0.0110    1.284|+0.0350    1.529|+0.0299   checkout
  1.123|+0.0098    1.612|+0.1578    1.483|+0.0778   commit
  1.092|+0.0017    1.133|+0.0032    1.071|+0.0015   copy
  1.068|+0.0056    1.070|+0.0068    1.033|+0.0029   delete
  0.884|-0.0205    0.751|-0.0783    0.849|-0.0346   merge
  1.133|+0.0013    0.307|-0.1012    1.111|+0.0013   prop mod
  1.068|+0.0007    3.388|+0.0261    1.603|+0.0064   propdel
  1.179|+0.0015    1.021|+0.0010    1.200|+0.0019   proplist
  1.129|+0.0012    1.171|+0.0094    1.122|+0.0013   propset
  1.156|+0.0013    1.434|+0.0139    1.185|+0.0021   resolve
  2.360|+0.0143    2.801|+0.0499    2.466|+0.0243   resolved
  1.216|+0.0022    1.363|+0.0174    1.363|+0.0058   status
  0.981|-0.0018    0.826|-0.0208    0.934|-0.0067   switch
  1.477|+0.0060    0.732|-0.0563    1.024|+0.0014   update

=========================================================================

calculating total of 1.6...
    N   min     max     avg    operation  (unit is seconds)
   18   4.560 561.406 168.299  TOTAL RUN
 1102   0.008   3.820   0.032  add
   36   0.013  20.311   3.459  checkout
  144   0.080  53.167   6.275  commit
   18   0.019   0.894   0.174  copy
   18   0.082   7.881   1.684  delete
   36   0.177  21.264   5.278  merge
 1105   0.009   2.464   0.014  mkdir
 6885   0.009   2.935   0.017  prop mod
  272   0.009   0.496   0.032  propdel
13603   0.008   0.381   0.009  proplist
26498   0.009   5.959   0.015  propset
   36   0.008   0.032   0.010  resolve
   36   0.010   2.710   0.367  resolved
  252   0.010   0.958   0.203  status
   18   0.093  15.409   5.787  switch
  270   0.012  31.070   3.261  update

calculating total of trunk...
    N   min     max     avg    operation  (unit is seconds)
   18   5.344 484.489 158.059  TOTAL RUN
 1102   0.011   2.411   0.028  add
   36   0.024   8.391   1.364  checkout
  144   0.090  28.344   4.862  commit
   18   0.021   0.116   0.036  copy
   18   0.088 130.853  38.944  delete
   36   0.156  20.045   4.099  merge
 1105   0.011   0.647   0.018  mkdir
 6885   0.011   0.548   0.016  prop mod
  272   0.011   0.076   0.016  propdel
13603   0.010   0.102   0.014  proplist
26498   0.011   0.543   0.015  propset
   36   0.010   0.046   0.012  resolve
   36   0.025   2.380   0.563  resolved
  252   0.012   2.932   0.387  status
   18   0.092   6.508   2.123  switch
  270   0.018   9.390   1.098  update

comparing averaged totals...
Timings for total_1.6
    N   min     max     avg    operation  (unit is seconds)
   18   4.560 561.406 168.299  TOTAL RUN
 1102   0.008   3.820   0.032  add
   36   0.013  20.311   3.459  checkout
  144   0.080  53.167   6.275  commit
   18   0.019   0.894   0.174  copy
   18   0.082   7.881   1.684  delete
   36   0.177  21.264   5.278  merge
 1105   0.009   2.464   0.014  mkdir
 6885   0.009   2.935   0.017  prop mod
  272   0.009   0.496   0.032  propdel
13603   0.008   0.381   0.009  proplist
26498   0.009   5.959   0.015  propset
   36   0.008   0.032   0.010  resolve
   36   0.010   2.710   0.367  resolved
  252   0.010   0.958   0.203  status
   18   0.093  15.409   5.787  switch
  270   0.012  31.070   3.261  update
---
Timings for total_trunk
    N   min     max     avg    operation  (unit is seconds)
   18   5.344 484.489 158.059  TOTAL RUN
 1102   0.011   2.411   0.028  add
   36   0.024   8.391   1.364  checkout
  144   0.090  28.344   4.862  commit
   18   0.021   0.116   0.036  copy
   18   0.088 130.853  38.944  delete
   36   0.156  20.045   4.099  merge
 1105   0.011   0.647   0.018  mkdir
 6885   0.011   0.548   0.016  prop mod
  272   0.011   0.076   0.016  propdel
13603   0.010   0.102   0.014  proplist
26498   0.011   0.543   0.015  propset
   36   0.010   0.046   0.012  resolve
   36   0.025   2.380   0.563  resolved
  252   0.012   2.932   0.387  status
   18   0.092   6.508   2.123  switch
  270   0.018   9.390   1.098  update
---
COMPARE total_1.6 to total_trunk
  1.23|+0.45  means factor=1.23, difference in seconds = 0.45
  factor < 1 or difference < 0 means 'total_trunk' is faster than 'total_1.6'
      min              max              avg         operation
  1.172|+0.7841    0.863|-76.9170   0.939|-10.2402  TOTAL RUN
  1.322|+0.0026    0.631|-1.4086    0.879|-0.0039   add
  1.827|+0.0108    0.413|-11.9194   0.394|-2.0951   checkout
  1.123|+0.0098    0.533|-24.8236   0.775|-1.4129   commit
  1.092|+0.0017    0.129|-0.7784    0.206|-0.1383   copy
  1.068|+0.0056   16.604|+122.9722  23.120|+37.2592  delete
  0.884|-0.0205    0.943|-1.2191    0.777|-1.1794   merge
  1.258|+0.0023    0.263|-1.8166    1.212|+0.0031   mkdir
  1.256|+0.0022    0.187|-2.3871    0.930|-0.0012   prop mod
  1.237|+0.0021    0.153|-0.4198    0.494|-0.0163   propdel
  1.267|+0.0020    0.267|-0.2795    1.537|+0.0050   proplist
  1.267|+0.0023    0.091|-5.4157    1.028|+0.0004   propset
  1.160|+0.0014    1.434|+0.0139    1.196|+0.0019   resolve
  2.360|+0.0143    0.878|-0.3298    1.533|+0.1956   resolved
  1.216|+0.0022    3.061|+1.9744    1.904|+0.1837   status
  0.981|-0.0018    0.422|-8.9009    0.367|-3.6645   switch
  1.477|+0.0060    0.302|-21.6808   0.337|-2.1622   update

Had started at Thu Apr  7 00:24:51 UTC 2011,
       done at Thu Apr  7 02:03:08 UTC 2011
/home/neels/svnbench/20110407-002451
real 5896.90
user 3366.21
sys 1374.08

Re: some more performance benchmarks

Posted by Daniel Shahaf <da...@elego.de>.
Neels Hofmeyr wrote on Thu, Apr 07, 2011 at 16:42:43 +0200:
> [[[
> COMPARE 5x5_1.6 to 5x5_trunk
>   1.23|+0.45  means factor=1.23, difference in seconds = 0.45
>   factor < 1 or difference < 0 means '5x5_trunk' is faster than
> '5x5_1.6'
>       min              max              avg         operation
>   1.151|+49.7471   0.863|-76.9170   1.036|+15.1526  TOTAL RUN
>   1.322|+0.0026    0.631|-1.4086    0.938|-0.0019   add
>   1.864|+0.0113    0.413|-11.9194   0.513|-3.5088   checkout
>   0.625|-2.3169    0.533|-24.8236   0.769|-4.0490   commit
>   0.899|-0.0030    0.129|-0.7784    0.122|-0.3825   copy
>  44.382|+100.3599  16.604|+122.9722  24.856|+109.4408  delete
>   1.245|+1.6928    0.943|-1.2191    0.768|-3.3842   merge
>   1.258|+0.0023    0.263|-1.8166    1.189|+0.0028   mkdir
>   1.256|+0.0022    0.187|-2.3871    0.910|-0.0016   prop mod
>   1.237|+0.0021    0.153|-0.4198    0.480|-0.0174   propdel
>   1.267|+0.0020    0.267|-0.2795    1.544|+0.0050   proplist
>   1.267|+0.0023    0.091|-5.4157    1.018|+0.0003   propset
>   1.148|+0.0013    2.347|+0.0133    1.254|+0.0024   resolve
>   2.764|+0.5885    0.878|-0.3298    1.565|+0.5413   resolved
>   1.410|+0.0733    3.061|+1.9744    2.038|+0.4877   status
>   0.602|-3.3563    0.422|-8.9009    0.470|-6.4426   switch
>   1.622|+0.0934    0.302|-21.6808   0.421|-3.9173   update
> ]]]
...
> I'm playing with the thought of making graphical charts of these
> numbers, but that might be overkill :)

Disagree.  If you're going to post long columns of numbers and expect
people to make any sense of them, a chart would help *a lot*.

Or, at least, make the output be in unary rather than decimal :-)

Daniel

Re: some more performance benchmarks

Posted by Greg Stein <gs...@gmail.com>.
On Thu, Apr 7, 2011 at 10:42, Neels Hofmeyr <ne...@elego.de> wrote:
>...
> Any ideas/opinions about adding to tools/dev/ would be appreciated.

Commited in r1092569 as tools/dev/benchmarks/suite1. Having them in
source control is better than worrying too much about the naming.

We can now evolve these for other platforms, people can run them on
their OS, etc.

Cheers,
-g

Re: some more performance benchmarks

Posted by Daniel Shahaf <da...@elego.de>.
Neels Hofmeyr wrote on Thu, Apr 07, 2011 at 16:42:43 +0200:
> I have no idea about other loads on our vm. Maybe we could use the
> user/sys output of 'time -p' instead of the real-world time measurements
> it is taking right now, although my intention was to stick to the actual
> real world time. Of course that works best on an otherwise idle system.
> danielsh, or anyone, do you have any idea at what times-of-day (or
> something) the VM host is most likely to idle for ~2 hours, so we can
> schedule the tests then?

It's two-fold:

* When is the VM itself inactive
* When is the host inactive

The first question is easy: just tell artagnon and danielsh "don't use
svn-qavm at the moment".  Just edit /etc/motd, or edit /topic on IRC,
or something.

The second question is harder.  The host runs over 30 other VMs, and
I am not sure offhand what they are all used for.  If you care about
this level of detail, you'd have to talk to Gavin or Tony from infra ---
try catching them on infrastructure@ or #asfinfra.

Re: some more performance benchmarks

Posted by Neels Hofmeyr <ne...@elego.de>.
On Thu, 2011-04-07 at 08:03 -0500, Hyrum K Wright wrote:

> This is great work, though as you admit the results are bit
> incomprehensible at this stage.  Would it make sense to somehow

Hmm, I think stsp was a bit early to post, I'm still in the sanity
checking phase ;)

E.g.,:

[[[
Timings for 5x5_1.6
    N   min     max     avg    operation  (unit is seconds)
    6 330.544 561.406 425.169  TOTAL RUN
]]]

-->  variation of 330s to 561s in 6 identical runs?
(later note: I just found the random seeding might be in the wrong
place. I recently refactored a few things and it should prbly go inside
the N loop now.)

I have no idea about other loads on our vm. Maybe we could use the
user/sys output of 'time -p' instead of the real-world time measurements
it is taking right now, although my intention was to stick to the actual
real world time. Of course that works best on an otherwise idle system.
danielsh, or anyone, do you have any idea at what times-of-day (or
something) the VM host is most likely to idle for ~2 hours, so we can
schedule the tests then?


> combine the scripts to prevent the bifurcation of benchmark suites?

For the curious, I attached the current state of my benchmark scripts,
but I'm still editing.

> Do you have the script of commands, and the accompanying repo?

ATM my scripts are in an elego-private repo, they were initially going
to be just a quick test to have real timing results in an article about
1.7.

Actually, I think they have matured enough to be committed in tools/dev.
If Mark does the same we could have a collective look at them and
decide. I haven't actually seen Mark's results nor scripts yet. I have
posted mine before, older versions, a few months ago...
So where to put it?

tools/dev/benchmark/A  <--- mark's benches
tools/dev/benchmark/B  <--- my benches
???

I'm reluctant to label the dir with my name...
It'd be nice to find two descriptive words to distinguish between the
benchmarks, "by type".


In reply to CMike, an outline of what my test does:

I have a little python magic I use to call svn subcommands, calling the
cmdline svn client from py. Each call is being timed and added to a set
of N calls of the same subcommand.
So it has no understanding of whether it got 'svn delete one/file.c' or
'svn delete huge/tree/*', it simply adds another sample. So that's
almost madness.
But it goes on and runs the same identical sequence a number of times,
currently 6. Their values are averaged, and the min/max are retained to
have some sense of the real-world meaning of the average.

These 6 identical runs are done once for 1.6.x and once for trunk. They
are identical because I use a pseudo random number generator (to get
"organic" modifications) that is seeded with 0 for each run :P

Finally, the averages/mins/maxes for 1.6.x are compared to those of
trunk, showing a factor and a difference in seconds. (A factor of 10
were negligible if the actual time added was only 2 microseconds...)

Because of this "madness" I mentioned above (variation in single calls),
the *averages* are what's really interesting to look at. Even though an
average for 1.6 may be made up of (60 + 0.06)/2, trunk's average could
be (90 + 0.01)/2, and still shows the worst case pretty visibly (a long
call taking even longer). You can stare at the min/max differences to
make up your mind as to whether the averages are actual timings in
seconds or unitless fantasy ratings. Yet I am pretty confident that they
sufficiently compare the two clients.

In stsp's post, every single run was printed out. The really interesting
places to look though are where it says "Results for"... and
"COMPARE"...

[[[
COMPARE 5x5_1.6 to 5x5_trunk
  1.23|+0.45  means factor=1.23, difference in seconds = 0.45
  factor < 1 or difference < 0 means '5x5_trunk' is faster than
'5x5_1.6'
      min              max              avg         operation
  1.151|+49.7471   0.863|-76.9170   1.036|+15.1526  TOTAL RUN
  1.322|+0.0026    0.631|-1.4086    0.938|-0.0019   add
  1.864|+0.0113    0.413|-11.9194   0.513|-3.5088   checkout
  0.625|-2.3169    0.533|-24.8236   0.769|-4.0490   commit
  0.899|-0.0030    0.129|-0.7784    0.122|-0.3825   copy
 44.382|+100.3599  16.604|+122.9722  24.856|+109.4408  delete
  1.245|+1.6928    0.943|-1.2191    0.768|-3.3842   merge
  1.258|+0.0023    0.263|-1.8166    1.189|+0.0028   mkdir
  1.256|+0.0022    0.187|-2.3871    0.910|-0.0016   prop mod
  1.237|+0.0021    0.153|-0.4198    0.480|-0.0174   propdel
  1.267|+0.0020    0.267|-0.2795    1.544|+0.0050   proplist
  1.267|+0.0023    0.091|-5.4157    1.018|+0.0003   propset
  1.148|+0.0013    2.347|+0.0133    1.254|+0.0024   resolve
  2.764|+0.5885    0.878|-0.3298    1.565|+0.5413   resolved
  1.410|+0.0733    3.061|+1.9744    2.038|+0.4877   status
  0.602|-3.3563    0.422|-8.9009    0.470|-6.4426   switch
  1.622|+0.0934    0.302|-21.6808   0.421|-3.9173   update
]]]

An interpretation could be: 'svn delete' currently sucks for some reason
(24 times slower???), as well as 'svn status' (twice as slow, but then
again it only added half a second to a run that was >400 seconds long,
on average). The rest looks quite encouraging. IIRC, when I ran this a
few months back I had higher slowness factor numbers than this (and,
notably, a much saner 'svn delete' factor, so there must be some newly
introduced speed bug in trunk's 'svn delete' -- or in my script).
Interesting to note is that the *variation* in time it takes for a run
became somewhat smaller using trunk. So trunk's timings seem to be
slightly more homogeneous than 1.6.x's (looking at the TOTAL min/max).

Now you may note that there are several types of these, i.e. 5x5, 1x100
and 100x1. 5x5 means there is a WC depth of 5 directories, each one
holding 5 subdirs and 5 files. 1x100 is a flat directory with 100 dir
and file entries. 100x1 is a cascade of single subdirs that is 100 dir
levels deep, also with one file on each subdir level.

The 100x1 case is actually where the 1.6 client sucks very badly -- it's
visible in timing but even worse memory wise. Watching `top` while it
runs reveals a memory footprint going towards gigabyte scale.
Consequently, this is where trunk really really ROCKS because it does
the same job with a few mb of RAM, in a fraction of the time.

I'm playing with the thought of making graphical charts of these
numbers, but that might be overkill :)

Any ideas/opinions about adding to tools/dev/ would be appreciated.

Finally, the interesting part that shows what the script tests:

[[[
  run_cmd(['svnadmin', 'create', repos])
  svn('checkout', file_url, wc)

  trunk = j(wc, 'trunk')
  create_tree(trunk, levels, spread)
  add(trunk)
  st(wc)
  ci(wc)
  up(wc)
  propadd_tree(trunk, 0.5)
  ci(wc)
  up(wc)
  st(wc)

  trunk_url = file_url + '/trunk'
  branch_url = file_url + '/branch'

  svn('copy', '-mm', trunk_url, branch_url)
  st(wc)

  up(wc)
  st(wc)

  svn('checkout', trunk_url, wc2)
  st(wc2)
  modify_tree(wc2, 0.5)
  st(wc2)
  ci(wc2)
  up(wc2)
  up(wc)

  svn('switch', branch_url, wc2)
  modify_tree(wc2, 0.5)
  st(wc2)
  ci(wc2)
  up(wc2)
  up(wc)

  modify_tree(trunk, 0.5)
  st(wc)
  ci(wc)
  up(wc2)
  up(wc)

  svn('merge', '--accept=postpone', trunk_url, wc2)
  st(wc2)
  svn('resolve', '--accept=mine-conflict', wc2)
  st(wc2)
  svn('resolved', '-R', wc2)
  st(wc2)
  ci(wc2)
  up(wc2)
  up(wc)

  svn('merge', '--accept=postpone', '--reintegrate', branch_url, trunk)
  st(wc)
  svn('resolve', '--accept=mine-conflict', wc)
  st(wc)
  svn('resolved', '-R', wc)
  st(wc)
  ci(wc)
  up(wc2)
  up(wc)

  svn('delete', j(wc, 'branch'))
  ci(wc)
  up(wc2)
  up(wc)
]]]

Note that I still have a few plans for tweaks I'm not discussing because
this mail is long enough.

~Neels

Re: some more performance benchmarks

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
On Thu, Apr 7, 2011 at 6:29 AM, Stefan Sperling <st...@elego.de> wrote:
> Neels has set up his performance benchmarks to run on the svn VM
> we have at apache.org.
>
> The tests only use ra_Local and are supposed to measure wc-ng
> performance, not httpv2. They focus on edge cases and are thus a
> good addition to Mark Phippard's test which focus more on real world usage.
>
> Below are the results of the latest run.
> They're probably a bit hard to decipher as is. The plan is to make the
> scripts produce more easily digestable results and then send results
> to dev@ on a weekly basis.
>
> As far as I can tell, these numbers indicate that trunk is on-par
> with 1.6.x except for delete operations.
>
>...

This is great work, though as you admit the results are bit
incomprehensible at this stage.  Would it make sense to somehow
combine the scripts to prevent the bifurcation of benchmark suites?

Do you have the script of commands, and the accompanying repo?

-Hyrum

Re: some more performance benchmarks

Posted by "C. Michael Pilato" <cm...@collab.net>.
On 04/07/2011 07:29 AM, Stefan Sperling wrote:
> Neels has set up his performance benchmarks to run on the svn VM
> we have at apache.org.

[...]

> Below are the results of the latest run.
> They're probably a bit hard to decipher as is. The plan is to make the
> scripts produce more easily digestable results and then send results
> to dev@ on a weekly basis.

Actually, I find them fairly straightforward to interpret.  I particularly
like the comparison approach, providing multiplier values to demonstrate
slowerthan/fasterthan and the associated degree of either!

What's missing, I suppose, is an explanation of what each operation is truly
doing.  By the varying N values, I'm guessing that there are some number of
high-level scenarios in play, but each step of the scenario is measured.
That is, if the scenario is "merge a branch into the trunk", you will have
measured each add of each file and dir, each commit to built up some
history, the copy to make the branch, and the merge itself, plus maybe some
status/proplist to verify state.  Is that (roughly) what's going on?  In
that case, explaining each "add" (for example) would be unwieldy.  But maybe
explaining the high-level scenarios would be useless?

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand