Hi,
I managed to get the benchmark 'suite1' (tools/dev/benchmarks/suite1,
which is used for the automated benchmarks [svnbench] on svn-qavm)
running on Windows. I did that by translating the 'run' script (bash)
to a Windows "batch" script (I'm not much of a "batch" programmer, but
with some trial and error, and the help of google ;-) ...).
I've put the run.bat in attachment here (just strip the .txt
extension). I'll commit it tonight (don't have access right now), but
some extra eyes in the meantime can't hurt :-).
There is one annoying issue remaining with the run script for Windows
(or the benchmark in general): I get an error when running the 100x1
tests (100 directory levels deep). I reduced it to 50x1, but still get
the error. It's probably some "max path component" or "max path
length" limit on Windows/NTFS that's causing this. Maybe some of the
Windows-devs knows how to work around this? Or should I reduce that
test to 25x1?
This is the error I'm getting:
[[[
Results for dir levels: 50 spread: 1
Traceback (most recent call last):
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 629, in <module>
cmd_run(*args)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 577, in cmd_run
run(levels, spread, N)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 437, in run
create_tree(trunk, levels, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
... <repeated a couple of times> ...
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 240, in create_tree
f = open(fn, 'w')
IOError: [Errno 2] No such file or directory:
'c:\\docume~1\\user\\locals~1\\temp\\tmpmddeli\\wc\\trunk\\dir_2\\dir_4\\d
ir_6\\dir_8\\dir_10\\dir_12\\dir_14\\dir_16\\dir_18\\dir_20\\dir_22\\dir_24\\dir_26\\dir_28\\dir_30\\dir_32\\dir_34\\dir
_36\\dir_38\\dir_40\\dir_42\\dir_44\\dir_46\\dir_48\\dir_50\\dir_52\\dir_54\\dir_56\\dir_58\\file_59'
]]]
For the rest it runs fine. Below are some results (only the 5x5 and
1x100) from comparing trunk@1137727 with 1.6.17 (SlikSVN binary) on
Windows XP (32-bit) with local disk, with Antivirus disabled.
Note that it took a *huge* time to run, even without the 100x1 tests
(~ 7 hours). I guess that shows how slow my machine really is ;-),
especially with 1.6. The performance improvements are definitely great
though (especially 'update', which is 80% faster with trunk! And also
'commit', with is down almost 60%).
--------------8<---------------
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1>run
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\ma_20_06_2011-22332348
Started at ma 20/06/2011-22:33:23,48
---------------------------------------------------------------------
Results for dir levels: 5 spread: 5
Timings for 5x5_1.6
N min max avg operation (unit is seconds)
6 2678.55 2805.30 2735.33 TOTAL RUN
816 0.08 28.97 0.28 add
12 0.11 68.28 30.63 checkout
48 54.75 132.92 96.62 commit
6 0.13 9.13 1.85 copy
6 33.42 44.73 36.60 delete
12 53.86 74.17 67.24 merge
918 0.09 0.92 0.10 mkdir
6318 0.08 1.45 0.10 prop mod
306 0.08 0.11 0.09 propdel
12660 0.08 0.53 0.09 proplist
25242 0.08 4.38 0.09 propset
12 0.08 0.11 0.10 resolve
12 22.77 38.41 28.58 resolved
84 0.45 11.55 1.51 status
6 60.78 64.61 62.58 switch
90 8.08 124.69 55.27 update
---
Timings for 5x5_trunk
N min max avg operation (unit is seconds)
6 1345.23 1369.86 1359.09 TOTAL RUN
816 0.08 13.16 0.17 add
12 0.13 48.30 23.51 checkout
48 2.48 77.02 40.89 commit
6 0.11 0.28 0.15 copy
6 4.55 11.41 7.32 delete
12 38.56 51.66 44.50 merge
918 0.08 0.63 0.09 mkdir
6318 0.08 0.19 0.09 prop mod
306 0.08 0.09 0.09 propdel
12660 0.08 0.42 0.08 proplist
25242 0.08 0.33 0.09 propset
12 0.08 0.09 0.09 resolve
12 1.42 6.50 2.98 resolved
84 0.39 1.50 0.91 status
6 23.08 25.20 24.11 switch
90 0.42 41.83 10.84 update
---
COMPARE 5x5_1.6 to 5x5_trunk
TOTAL RUN times: 2735.3 seconds avg for 5x5_1.6
1359.1 seconds avg for 5x5_trunk
min max avg operation
0.50|-1333.313 0.49|-1435.437 0.50|-1376.242 TOTAL RUN
1.00| +0.000 0.45|-15.813 0.62| -0.108 add
1.15| +0.016 0.71|-19.985 0.77| -7.116 checkout
0.05|-52.266 0.58|-55.907 0.42|-55.731 commit
0.87| -0.016 0.03| -8.844 0.08| -1.701 copy
0.14|-28.875 0.25|-33.327 0.20|-29.286 delete
0.72|-15.296 0.70|-22.516 0.66|-22.740 merge
0.84| -0.015 0.68| -0.297 0.89| -0.011 mkdir
1.00| +0.000 0.13| -1.265 0.91| -0.008 prop mod
1.00| +0.000 0.85| -0.016 0.91| -0.008 propdel
1.00| +0.000 0.79| -0.109 0.94| -0.006 proplist
1.00| +0.000 0.07| -4.047 0.91| -0.008 propset
1.00| +0.000 0.86| -0.015 0.87| -0.013 resolve
0.06|-21.343 0.17|-31.906 0.10|-25.591 resolved
0.86| -0.063 0.13|-10.047 0.60| -0.604 status
0.38|-37.704 0.39|-39.407 0.39|-38.472 switch
0.05| -7.656 0.34|-82.859 0.20|-44.427 update
("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')
---------------------------------------------------------------------
Results for dir levels: 1 spread: 100
Timings for 1x100_1.6
N min max avg operation (unit is seconds)
6 33.19 37.64 34.08 TOTAL RUN
6 0.27 1.14 0.41 add
12 0.11 1.53 0.43 checkout
48 0.53 2.47 0.90 commit
6 0.11 0.13 0.12 copy
6 0.36 0.44 0.39 delete
12 0.77 2.30 1.03 merge
186 0.08 0.13 0.09 prop mod
24 0.09 0.11 0.10 propdel
288 0.08 0.11 0.09 proplist
588 0.08 1.11 0.10 propset
12 0.08 0.20 0.10 resolve
12 0.09 0.13 0.11 resolved
84 0.08 0.16 0.11 status
6 0.34 0.36 0.35 switch
90 0.11 1.00 0.24 update
---
Timings for 1x100_trunk
N min max avg operation (unit is seconds)
6 30.66 32.14 30.97 TOTAL RUN
6 0.22 0.22 0.22 add
12 0.13 1.45 0.50 checkout
48 0.16 2.39 0.79 commit
6 0.11 0.17 0.15 copy
6 0.20 0.22 0.21 delete
12 0.80 2.02 0.99 merge
186 0.08 0.09 0.09 prop mod
24 0.08 0.09 0.09 propdel
288 0.08 0.09 0.08 proplist
588 0.08 0.30 0.09 propset
12 0.08 0.09 0.08 resolve
12 0.09 0.13 0.11 resolved
84 0.08 0.11 0.09 status
6 0.36 0.47 0.40 switch
90 0.09 0.84 0.23 update
---
COMPARE 1x100_1.6 to 1x100_trunk
TOTAL RUN times: 34.1 seconds avg for 1x100_1.6
31.0 seconds avg for 1x100_trunk
min max avg operation
0.92| -2.532 0.85| -5.501 0.91| -3.102 TOTAL RUN
0.82| -0.047 0.19| -0.922 0.53| -0.195 add
1.15| +0.016 0.95| -0.078 1.15| +0.066 checkout
0.29| -0.375 0.97| -0.079 0.88| -0.107 commit
0.99| -0.001 1.38| +0.047 1.21| +0.026 copy
0.57| -0.156 0.50| -0.219 0.53| -0.182 delete
1.04| +0.032 0.88| -0.281 0.96| -0.042 merge
1.00| +0.000 0.75| -0.031 0.91| -0.008 prop mod
0.84| -0.015 0.85| -0.016 0.90| -0.009 propdel
1.00| +0.000 0.85| -0.016 0.93| -0.007 proplist
1.00| +0.000 0.27| -0.812 0.90| -0.009 propset
1.00| +0.000 0.46| -0.109 0.83| -0.017 resolve
1.00| +0.000 1.00| +0.000 0.97| -0.003 resolved
1.00| +0.000 0.71| -0.046 0.86| -0.014 status
1.05| +0.016 1.30| +0.109 1.17| +0.057 switch
0.85| -0.016 0.84| -0.156 0.93| -0.018 update
("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')
=========================================================================
comparing averaged totals..."
Timings for total_1.6
N min max avg operation (unit is seconds)
12 33.19 2805.30 1384.70 TOTAL RUN
822 0.08 28.97 0.28 add
24 0.11 68.28 15.53 checkout
96 0.53 132.92 48.76 commit
12 0.11 9.13 0.98 copy
12 0.36 44.73 18.49 delete
24 0.77 74.17 34.13 merge
918 0.09 0.92 0.10 mkdir
6504 0.08 1.45 0.10 prop mod
330 0.08 0.11 0.09 propdel
12948 0.08 0.53 0.09 proplist
25830 0.08 4.38 0.09 propset
24 0.08 0.20 0.10 resolve
24 0.09 38.41 14.34 resolved
168 0.08 11.55 0.81 status
12 0.34 64.61 31.46 switch
180 0.11 124.69 27.75 update
---
Timings for total_trunk
N min max avg operation (unit is seconds)
12 30.66 1369.86 695.03 TOTAL RUN
822 0.08 13.16 0.17 add
24 0.13 48.30 12.00 checkout
96 0.16 77.02 20.84 commit
12 0.11 0.28 0.15 copy
12 0.20 11.41 3.76 delete
24 0.80 51.66 22.74 merge
918 0.08 0.63 0.09 mkdir
6504 0.08 0.19 0.09 prop mod
330 0.08 0.09 0.09 propdel
12948 0.08 0.42 0.08 proplist
25830 0.08 0.33 0.09 propset
24 0.08 0.09 0.08 resolve
24 0.09 6.50 1.54 resolved
168 0.08 1.50 0.50 status
12 0.36 25.20 12.26 switch
180 0.09 41.83 5.53 update
---
COMPARE total_1.6 to total_trunk
TOTAL RUN times: 1384.7 seconds avg for total_1.6
695.0 seconds avg for total_trunk
min max avg operation
0.92| -2.532 0.49|-1435.437 0.50|-689.672 TOTAL RUN
1.00| +0.000 0.45|-15.813 0.62| -0.108 add
1.15| +0.016 0.71|-19.985 0.77| -3.525 checkout
0.29| -0.375 0.58|-55.907 0.43|-27.919 commit
0.99| -0.001 0.03| -8.844 0.15| -0.837 copy
0.57| -0.156 0.25|-33.327 0.20|-14.734 delete
1.04| +0.032 0.70|-22.516 0.67|-11.391 merge
0.84| -0.015 0.68| -0.297 0.89| -0.011 mkdir
1.00| +0.000 0.13| -1.265 0.91| -0.008 prop mod
1.00| +0.000 0.85| -0.016 0.91| -0.008 propdel
1.00| +0.000 0.79| -0.109 0.93| -0.006 proplist
1.00| +0.000 0.07| -4.047 0.91| -0.008 propset
1.00| +0.000 0.46| -0.109 0.85| -0.015 resolve
1.00| +0.000 0.17|-31.906 0.11|-12.797 resolved
1.00| +0.000 0.13|-10.047 0.62| -0.309 status
1.05| +0.016 0.39|-39.407 0.39|-19.207 switch
0.85| -0.016 0.34|-82.859 0.20|-22.222 update
("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')
Had started at ma 20/06/2011-22:33:23,48,
done at di 21/06/2011- 5:38:03,57
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\ma_20_06_2011-22332348
--
Johan
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1>run
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\ma_20_06_2011-22332348
Started at ma 20/06/2011-22:33:23,48
---------------------------------------------------------------------
Results for dir levels: 5 spread: 5
Timings for 5x5_1.6
N min max avg operation (unit is seconds)
6 2678.55 2805.30 2735.33 TOTAL RUN
816 0.08 28.97 0.28 add
12 0.11 68.28 30.63 checkout
48 54.75 132.92 96.62 commit
6 0.13 9.13 1.85 copy
6 33.42 44.73 36.60 delete
12 53.86 74.17 67.24 merge
918 0.09 0.92 0.10 mkdir
6318 0.08 1.45 0.10 prop mod
306 0.08 0.11 0.09 propdel
12660 0.08 0.53 0.09 proplist
25242 0.08 4.38 0.09 propset
12 0.08 0.11 0.10 resolve
12 22.77 38.41 28.58 resolved
84 0.45 11.55 1.51 status
6 60.78 64.61 62.58 switch
90 8.08 124.69 55.27 update
---
Timings for 5x5_trunk
N min max avg operation (unit is seconds)
6 1345.23 1369.86 1359.09 TOTAL RUN
816 0.08 13.16 0.17 add
12 0.13 48.30 23.51 checkout
48 2.48 77.02 40.89 commit
6 0.11 0.28 0.15 copy
6 4.55 11.41 7.32 delete
12 38.56 51.66 44.50 merge
918 0.08 0.63 0.09 mkdir
6318 0.08 0.19 0.09 prop mod
306 0.08 0.09 0.09 propdel
12660 0.08 0.42 0.08 proplist
25242 0.08 0.33 0.09 propset
12 0.08 0.09 0.09 resolve
12 1.42 6.50 2.98 resolved
84 0.39 1.50 0.91 status
6 23.08 25.20 24.11 switch
90 0.42 41.83 10.84 update
---
COMPARE 5x5_1.6 to 5x5_trunk
TOTAL RUN times: 2735.3 seconds avg for 5x5_1.6
1359.1 seconds avg for 5x5_trunk
min max avg operation
0.50|-1333.313 0.49|-1435.437 0.50|-1376.242 TOTAL RUN
1.00| +0.000 0.45|-15.813 0.62| -0.108 add
1.15| +0.016 0.71|-19.985 0.77| -7.116 checkout
0.05|-52.266 0.58|-55.907 0.42|-55.731 commit
0.87| -0.016 0.03| -8.844 0.08| -1.701 copy
0.14|-28.875 0.25|-33.327 0.20|-29.286 delete
0.72|-15.296 0.70|-22.516 0.66|-22.740 merge
0.84| -0.015 0.68| -0.297 0.89| -0.011 mkdir
1.00| +0.000 0.13| -1.265 0.91| -0.008 prop mod
1.00| +0.000 0.85| -0.016 0.91| -0.008 propdel
1.00| +0.000 0.79| -0.109 0.94| -0.006 proplist
1.00| +0.000 0.07| -4.047 0.91| -0.008 propset
1.00| +0.000 0.86| -0.015 0.87| -0.013 resolve
0.06|-21.343 0.17|-31.906 0.10|-25.591 resolved
0.86| -0.063 0.13|-10.047 0.60| -0.604 status
0.38|-37.704 0.39|-39.407 0.39|-38.472 switch
0.05| -7.656 0.34|-82.859 0.20|-44.427 update
("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')
---------------------------------------------------------------------
Results for dir levels: 50 spread: 1
Traceback (most recent call last):
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 629, in <module>
cmd_run(*args)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 577, in cmd_run
run(levels, spread, N)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 437, in run
create_tree(trunk, levels, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 240, in create_tree
f = open(fn, 'w')
IOError: [Errno 2] No such file or directory:
'c:\\docume~1\\user\\locals~1\\temp\\tmpmddeli\\wc\\trunk\\dir_2\\dir_4\\d
ir_6\\dir_8\\dir_10\\dir_12\\dir_14\\dir_16\\dir_18\\dir_20\\dir_22\\dir_24\\dir_26\\dir_28\\dir_30\\dir_32\\dir_34\\dir
_36\\dir_38\\dir_40\\dir_42\\dir_44\\dir_46\\dir_48\\dir_50\\dir_52\\dir_54\\dir_56\\dir_58\\file_59'
Traceback (most recent call last):
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 629, in <module>
cmd_run(*args)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 577, in cmd_run
run(levels, spread, N)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 437, in run
create_tree(trunk, levels, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 247, in create_tree
create_tree(dn, levels - 1, spread)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 240, in create_tree
f = open(fn, 'w')
IOError: [Errno 2] No such file or directory:
'c:\\docume~1\\user\\locals~1\\temp\\tmpd6mdhw\\wc\\trunk\\dir_2\\dir_4\\d
ir_6\\dir_8\\dir_10\\dir_12\\dir_14\\dir_16\\dir_18\\dir_20\\dir_22\\dir_24\\dir_26\\dir_28\\dir_30\\dir_32\\dir_34\\dir
_36\\dir_38\\dir_40\\dir_42\\dir_44\\dir_46\\dir_48\\dir_50\\dir_52\\dir_54\\dir_56\\dir_58\\file_59'
Traceback (most recent call last):
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 617, in <module>
cmd_compare(*args)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 541, in cmd_compare
t1 = read_from_file(path1)
File
"C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\benchmark.py",
line 526, in read_from_file
f = open(file_path, 'rb')
IOError: [Errno 2] No such file or directory: '50x1_1.6'
---------------------------------------------------------------------
Results for dir levels: 1 spread: 100
Timings for 1x100_1.6
N min max avg operation (unit is seconds)
6 33.19 37.64 34.08 TOTAL RUN
6 0.27 1.14 0.41 add
12 0.11 1.53 0.43 checkout
48 0.53 2.47 0.90 commit
6 0.11 0.13 0.12 copy
6 0.36 0.44 0.39 delete
12 0.77 2.30 1.03 merge
186 0.08 0.13 0.09 prop mod
24 0.09 0.11 0.10 propdel
288 0.08 0.11 0.09 proplist
588 0.08 1.11 0.10 propset
12 0.08 0.20 0.10 resolve
12 0.09 0.13 0.11 resolved
84 0.08 0.16 0.11 status
6 0.34 0.36 0.35 switch
90 0.11 1.00 0.24 update
---
Timings for 1x100_trunk
N min max avg operation (unit is seconds)
6 30.66 32.14 30.97 TOTAL RUN
6 0.22 0.22 0.22 add
12 0.13 1.45 0.50 checkout
48 0.16 2.39 0.79 commit
6 0.11 0.17 0.15 copy
6 0.20 0.22 0.21 delete
12 0.80 2.02 0.99 merge
186 0.08 0.09 0.09 prop mod
24 0.08 0.09 0.09 propdel
288 0.08 0.09 0.08 proplist
588 0.08 0.30 0.09 propset
12 0.08 0.09 0.08 resolve
12 0.09 0.13 0.11 resolved
84 0.08 0.11 0.09 status
6 0.36 0.47 0.40 switch
90 0.09 0.84 0.23 update
---
COMPARE 1x100_1.6 to 1x100_trunk
TOTAL RUN times: 34.1 seconds avg for 1x100_1.6
31.0 seconds avg for 1x100_trunk
min max avg operation
0.92| -2.532 0.85| -5.501 0.91| -3.102 TOTAL RUN
0.82| -0.047 0.19| -0.922 0.53| -0.195 add
1.15| +0.016 0.95| -0.078 1.15| +0.066 checkout
0.29| -0.375 0.97| -0.079 0.88| -0.107 commit
0.99| -0.001 1.38| +0.047 1.21| +0.026 copy
0.57| -0.156 0.50| -0.219 0.53| -0.182 delete
1.04| +0.032 0.88| -0.281 0.96| -0.042 merge
1.00| +0.000 0.75| -0.031 0.91| -0.008 prop mod
0.84| -0.015 0.85| -0.016 0.90| -0.009 propdel
1.00| +0.000 0.85| -0.016 0.93| -0.007 proplist
1.00| +0.000 0.27| -0.812 0.90| -0.009 propset
1.00| +0.000 0.46| -0.109 0.83| -0.017 resolve
1.00| +0.000 1.00| +0.000 0.97| -0.003 resolved
1.00| +0.000 0.71| -0.046 0.86| -0.014 status
1.05| +0.016 1.30| +0.109 1.17| +0.057 switch
0.85| -0.016 0.84| -0.156 0.93| -0.018 update
("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')
=========================================================================
comparing averaged totals..."
Timings for total_1.6
N min max avg operation (unit is seconds)
12 33.19 2805.30 1384.70 TOTAL RUN
822 0.08 28.97 0.28 add
24 0.11 68.28 15.53 checkout
96 0.53 132.92 48.76 commit
12 0.11 9.13 0.98 copy
12 0.36 44.73 18.49 delete
24 0.77 74.17 34.13 merge
918 0.09 0.92 0.10 mkdir
6504 0.08 1.45 0.10 prop mod
330 0.08 0.11 0.09 propdel
12948 0.08 0.53 0.09 proplist
25830 0.08 4.38 0.09 propset
24 0.08 0.20 0.10 resolve
24 0.09 38.41 14.34 resolved
168 0.08 11.55 0.81 status
12 0.34 64.61 31.46 switch
180 0.11 124.69 27.75 update
---
Timings for total_trunk
N min max avg operation (unit is seconds)
12 30.66 1369.86 695.03 TOTAL RUN
822 0.08 13.16 0.17 add
24 0.13 48.30 12.00 checkout
96 0.16 77.02 20.84 commit
12 0.11 0.28 0.15 copy
12 0.20 11.41 3.76 delete
24 0.80 51.66 22.74 merge
918 0.08 0.63 0.09 mkdir
6504 0.08 0.19 0.09 prop mod
330 0.08 0.09 0.09 propdel
12948 0.08 0.42 0.08 proplist
25830 0.08 0.33 0.09 propset
24 0.08 0.09 0.08 resolve
24 0.09 6.50 1.54 resolved
168 0.08 1.50 0.50 status
12 0.36 25.20 12.26 switch
180 0.09 41.83 5.53 update
---
COMPARE total_1.6 to total_trunk
TOTAL RUN times: 1384.7 seconds avg for total_1.6
695.0 seconds avg for total_trunk
min max avg operation
0.92| -2.532 0.49|-1435.437 0.50|-689.672 TOTAL RUN
1.00| +0.000 0.45|-15.813 0.62| -0.108 add
1.15| +0.016 0.71|-19.985 0.77| -3.525 checkout
0.29| -0.375 0.58|-55.907 0.43|-27.919 commit
0.99| -0.001 0.03| -8.844 0.15| -0.837 copy
0.57| -0.156 0.25|-33.327 0.20|-14.734 delete
1.04| +0.032 0.70|-22.516 0.67|-11.391 merge
0.84| -0.015 0.68| -0.297 0.89| -0.011 mkdir
1.00| +0.000 0.13| -1.265 0.91| -0.008 prop mod
1.00| +0.000 0.85| -0.016 0.91| -0.008 propdel
1.00| +0.000 0.79| -0.109 0.93| -0.006 proplist
1.00| +0.000 0.07| -4.047 0.91| -0.008 propset
1.00| +0.000 0.46| -0.109 0.85| -0.015 resolve
1.00| +0.000 0.17|-31.906 0.11|-12.797 resolved
1.00| +0.000 0.13|-10.047 0.62| -0.309 status
1.05| +0.016 0.39|-39.407 0.39|-19.207 switch
0.85| -0.016 0.34|-82.859 0.20|-22.222 update
("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')
Had started at ma 20/06/2011-22:33:23,48,
done at di 21/06/2011- 5:38:03,57
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1\ma_20_06_2011-22332348
C:\research\svn\client_build\trunk\tools\dev\benchmarks\suite1>
:: Licensed to the Apache Software Foundation (ASF) under one
:: or more contributor license agreements. See the NOTICE file
:: distributed with this work for additional information
:: regarding copyright ownership. The ASF licenses this file
:: to you under the Apache License, Version 2.0 (the
:: "License"); you may not use this file except in compliance
:: with the License. You may obtain a copy of the License at
::
:: http://www.apache.org/licenses/LICENSE-2.0
::
:: Unless required by applicable law or agreed to in writing,
:: software distributed under the License is distributed on an
:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
:: KIND, either express or implied. See the License for the
:: specific language governing permissions and limitations
:: under the License.
@ECHO OFF
SETLOCAL EnableDelayedExpansion
:: Where are the svn binaries you want to benchmark?
SET SVN_1_6=C:\path\to\1.6-svn\bin\svn
SET SVN_trunk=C:\path\to\trunk-svn\bin\svn
SET benchmark=%CD%\benchmark.py
SET my_datetime=%date%-%time%
SET my_datetime=%my_datetime: =_%
SET my_datetime=%my_datetime:/=_%
SET my_datetime=%my_datetime::=%
SET my_datetime=%my_datetime:.=%
SET my_datetime=%my_datetime:,=%
SET parent=%my_datetime%
SET inital_workdir=%CD%
mkdir "%parent%"
cd "%parent%"
ECHO %CD%
GOTO main
:batch
SET levels=%1
SET spread=%2
SET N=%3
SET pre=%levels%x%spread%_
ECHO.
ECHO.---------------------------------------------------------------------
ECHO.
ECHO.Results for dir levels: %levels% spread: %spread%
CALL "%benchmark%" --svn="%SVN_1_6%" run %pre%1.6 %levels% %spread% %N% > NUL
CALL "%benchmark%" --svn="%SVN_trunk%" run %pre%trunk %levels% %spread% %N% >
NUL
CALL "%benchmark%" compare %pre%1.6 %pre%trunk
GOTO :EOF
:main
SET N=6
SET al=5
SET as=5
SET bl=50
SET bs=1
SET cl=1
SET cs=100
::::DEBUG
::SET N=1
::SET al=1
::SET as=1
::SET bl=2
::SET bs=1
::SET cl=1
::SET cs=2
::::DEBUG
SET started=%date%-%time%
ECHO.Started at %started%
ECHO.
CALL :batch %al% %as% %N%
CALL :batch %bl% %bs% %N%
CALL :batch %cl% %cs% %N%
ECHO.
ECHO.=========================================================================
ECHO.
FOR %%F IN (*x*_1.6) DO SET all_1.6=!all_1.6! %%F
CALL "%benchmark%" combine total_1.6 %all_1.6% > NUL
FOR %%F IN (*x*_trunk) DO SET all_trunk=!all_trunk! %%F
CALL "%benchmark%" combine total_trunk %all_trunk% > NUL
ECHO.comparing averaged totals..."
CALL "%benchmark%" compare total_1.6 total_trunk
ECHO.
ECHO.Had started at %started%,
ECHO. done at %date%-%time%
ECHO %CD%
cd "%inital_workdir%"
IF EXIST %parent%\total_trunk rmdir /S /Q "%parent%"
ENDLOCAL