##// END OF EJS Templates
perf: add command for measuring revlog chunk operations...
perf: add command for measuring revlog chunk operations Upcoming commits will teach revlogs to leverage the new compression engine API so that new compression formats can more easily be leveraged in revlogs. We want to be sure this refactoring doesn't regress performance. So this commit introduces "perfrevchunks" to explicitly test performance of reading, decompressing, and recompressing revlog chunks. Here is output when run on the mozilla-unified repo: $ hg perfrevlogchunks -c ! read ! wall 0.346603 comb 0.350000 user 0.340000 sys 0.010000 (best of 28) ! read w/ reused fd ! wall 0.337707 comb 0.340000 user 0.320000 sys 0.020000 (best of 30) ! read batch ! wall 0.013206 comb 0.020000 user 0.000000 sys 0.020000 (best of 221) ! read batch w/ reused fd ! wall 0.013259 comb 0.030000 user 0.010000 sys 0.020000 (best of 222) ! chunk ! wall 1.909939 comb 1.910000 user 1.900000 sys 0.010000 (best of 6) ! chunk batch ! wall 1.750677 comb 1.760000 user 1.740000 sys 0.020000 (best of 6) ! compress ! wall 5.668004 comb 5.670000 user 5.670000 sys 0.000000 (best of 3) $ hg perfrevlogchunks -m ! read ! wall 0.365834 comb 0.370000 user 0.350000 sys 0.020000 (best of 26) ! read w/ reused fd ! wall 0.350160 comb 0.350000 user 0.320000 sys 0.030000 (best of 28) ! read batch ! wall 0.024777 comb 0.020000 user 0.000000 sys 0.020000 (best of 119) ! read batch w/ reused fd ! wall 0.024895 comb 0.030000 user 0.000000 sys 0.030000 (best of 118) ! chunk ! wall 2.514061 comb 2.520000 user 2.480000 sys 0.040000 (best of 4) ! chunk batch ! wall 2.380788 comb 2.380000 user 2.360000 sys 0.020000 (best of 5) ! compress ! wall 9.815297 comb 9.820000 user 9.820000 sys 0.000000 (best of 3) We already see some interesting data, such as how much slower non-batched chunk reading is and that zlib compression appears to be >2x slower than decompression. I didn't have the data when I wrote this commit message, but I ran this on Mozilla's NFS-based Mercurial server and the time for reading with a reused file descriptor was faster. So I think it is worth testing both with and without file descriptor reuse so we can make informed decisions about recycling file descriptors.

File last commit:

r11196:573bef78 merge default
r30451:94ca0e13 default
Show More
branches.svndump
416 lines | 5.6 KiB | text/plain | TextLexer
/ tests / svn / branches.svndump
Patrick Mezard
Rewrite svn tests using svndump...
r7475 SVN-fs-dump-format-version: 2
Patrick Mezard
Merge with crew-stable
r11196 UUID: 644ede6c-2b81-4367-9dc8-d786514f2cde
Patrick Mezard
Rewrite svn tests using svndump...
r7475
Revision-number: 0
Prop-content-length: 56
Content-length: 56
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:07.429098Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Revision-number: 1
Prop-content-length: 112
Content-length: 112
K 7
svn:log
V 10
init projA
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:07.461283Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: trunk
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Revision-number: 2
Prop-content-length: 106
Content-length: 106
K 7
svn:log
V 5
hello
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:08.121436Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/notinbranch
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: e29311f6f1bf1af907f9ef9f44b8328b
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: e983f374794de9c64e3d1c1de1d490c0756eeeff
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 12
PROPS-END
d
Node-path: trunk/a
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 12
PROPS-END
a
Node-path: trunk/b
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 3b5d5c3712955042212316173ccf37be
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: 89e6c98d92887913cadf06b2adb97f26cde4849b
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 12
PROPS-END
b
Node-path: trunk/c
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 2cd6ee2c70b0bde53fbe6cac3c8b8bb1
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: 2b66fd261ee5c6cfc8de7fa466bab600bcfe4f69
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 12
PROPS-END
c
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Node-path: trunk/dir
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: trunk/dir/e
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 9ffbf43126e33be52cd2bf7e01d627f9
Text-content-sha1: 094e3afb2fe8dfe82f63731cdcd3b999f4856cff
Content-length: 12
PROPS-END
e
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Revision-number: 3
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Prop-content-length: 132
Content-length: 132
Patrick Mezard
Rewrite svn tests using svndump...
r7475
K 7
svn:log
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 V 30
branch trunk, remove c and dir
Patrick Mezard
Rewrite svn tests using svndump...
r7475 K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:11.113124Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old
Node-kind: dir
Node-action: add
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Node-copyfrom-rev: 2
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Node-copyfrom-path: trunk
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Node-path: branches/old/dir
Node-action: delete
Patrick Mezard
Rewrite svn tests using svndump...
r7475
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Node-path: branches/old/c
Node-action: delete
Patrick Mezard
Rewrite svn tests using svndump...
r7475
Revision-number: 4
Prop-content-length: 109
Content-length: 109
K 7
svn:log
V 8
change a
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:13.060877Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: trunk/a
Node-kind: file
Node-action: change
Text-content-length: 4
Text-content-md5: 0d227f1abf8c2932d342e9b99cc957eb
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: d7c8127a20a396cff08af086a1c695b0636f0c29
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 4
a
a
Revision-number: 5
Prop-content-length: 109
Content-length: 109
K 7
svn:log
V 8
change b
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:14.066212Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old/b
Node-kind: file
Node-action: change
Text-content-length: 4
Text-content-md5: 06ac26ed8b614fc0b141e4542aa067c2
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: f6980469e74f7125178e88ec571e06fe6ce86e95
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 4
b
b
Revision-number: 6
Prop-content-length: 119
Content-length: 119
K 7
svn:log
V 17
move and update c
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:16.069449Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old/c
Node-kind: file
Node-action: add
Node-copyfrom-rev: 3
Node-copyfrom-path: trunk/b
Text-copy-source-md5: 3b5d5c3712955042212316173ccf37be
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-copy-source-sha1: 89e6c98d92887913cadf06b2adb97f26cde4849b
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Text-content-length: 4
Text-content-md5: 33cb6785d50937d8d307ebb66d6259a7
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: 7a6478264aa11a0f4befef356c03e83f2b1f6eba
Content-length: 4
Patrick Mezard
Rewrite svn tests using svndump...
r7475
b
c
Node-path: trunk/b
Node-action: delete
Revision-number: 7
Prop-content-length: 116
Content-length: 116
K 7
svn:log
V 14
change b again
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:17.070868Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old/b
Node-kind: file
Node-action: change
Text-content-length: 6
Text-content-md5: cdcfb41554e2d092c13f5e6839e63577
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: 17ac58cabedebea235d1b5605531d5b1559797e9
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 6
b
b
b
Revision-number: 8
Prop-content-length: 114
Content-length: 114
K 7
svn:log
V 12
move to old2
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:20.063098Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old2
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 7
Node-copyfrom-path: branches/old
Node-path: branches/old
Node-action: delete
Revision-number: 9
Prop-content-length: 118
Content-length: 118
K 7
svn:log
V 16
move back to old
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:22.062931Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 8
Node-copyfrom-path: branches/old2
Node-path: branches/old2
Node-action: delete
Revision-number: 10
Prop-content-length: 118
Content-length: 118
K 7
svn:log
V 16
last change to a
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:23.075562Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: trunk/a
Node-kind: file
Node-action: change
Text-content-length: 2
Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
Patrick Mezard
convert/svn: remove dead code from entry deletion code path...
r8884 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
Patrick Mezard
Rewrite svn tests using svndump...
r7475 Content-length: 2
a
Revision-number: 11
Prop-content-length: 126
Content-length: 126
K 7
svn:log
V 24
branch trunk@1 into old3
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
Patrick Mezard
Merge with crew-stable
r11196 2010-05-19T20:16:25.107655Z
Patrick Mezard
Rewrite svn tests using svndump...
r7475 PROPS-END
Node-path: branches/old3
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 1
Node-copyfrom-path: trunk