Mercurial > hg
comparison tests/test-clone-uncompressed.t @ 35767:5f5fb279fd39
streamclone: also stream caches to the client
When stream clone is used over bundle2, relevant cache files are also streamed.
This is expected to be a massive performance win for clone since no important
cache will have to be recomputed.
Some performance numbers:
(All times are wall-clock times in seconds, 2 attempts per case.)
# Mozilla-Central
## Clone over ssh over lan
V1 streaming: 234.3 239.6
V2 streaming: 248.4 243.7
## Clone over ssh over Internet
V1 streaming: 175.5 110.9
V2 streaming: 109.1 111.0
## Clone over HTTP over lan
V1 streaming: 105.3 105.6
V2 streaming: 112.7 111.4
## Clone over HTTP over internet
V1 streaming: 105.6 114.6
V2 streaming: 226.7 225.9
## Hg tags
V1 streaming (no cache): 1.084 1.071
V2 streaming (cache): 0.312 0.325
## Hg branches
V1 streaming (no cache): 14.047 14.148
V2 streaming (with cache): 0.312 0.333
# Pypy
## Clone over ssh over internet
V1 streaming: 29.4 30.1
V2 streaming: 31.2 30.1
## Clone over http over internet
V1 streaming: 29.7 29.7
V2 streaming: 75.2 72.9
(since ssh and lan are not affected, there seems to be an issue with how we
read/write the http stream on connection with latency, unrelated to the format)
## Hg tags
V1 streaming (no cache): 1.752 1.664
V2 streaming (with cache): 0.274 0.260
## Hg branches
V1 streaming (no cache): 4.469 4.728
V2 streaming (with cache): 0.318 0.321
# Private repository:
* 500K revision revisions
* 11K topological heads
* 28K branch heads
## hg tags
no cache: 1543.332
with cache: 4.900
## hg branches
no cache: 91.828
with cache: 2.955
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 18 Jan 2018 00:50:12 +0100 |
parents | 56c30b31afbe |
children | a84dbc87dae9 |
comparison
equal
deleted
inserted
replaced
35766:72fdd99eb526 | 35767:5f5fb279fd39 |
---|---|
36 no changes found | 36 no changes found |
37 #endif | 37 #endif |
38 #if stream-bundle2 | 38 #if stream-bundle2 |
39 $ hg clone --stream -U http://localhost:$HGPORT clone1 | 39 $ hg clone --stream -U http://localhost:$HGPORT clone1 |
40 streaming all changes | 40 streaming all changes |
41 1027 files to transfer, 96.3 KB of data | 41 1030 files to transfer, 96.4 KB of data |
42 transferred 96.3 KB in * seconds (* */sec) (glob) | 42 transferred 96.4 KB in * seconds (* */sec) (glob) |
43 | |
44 $ ls -1 clone1/.hg/cache | |
45 branch2-served | |
46 rbc-names-v1 | |
47 rbc-revs-v1 | |
43 #endif | 48 #endif |
44 | 49 |
45 --uncompressed is an alias to --stream | 50 --uncompressed is an alias to --stream |
46 | 51 |
47 #if stream-legacy | 52 #if stream-legacy |
53 no changes found | 58 no changes found |
54 #endif | 59 #endif |
55 #if stream-bundle2 | 60 #if stream-bundle2 |
56 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed | 61 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed |
57 streaming all changes | 62 streaming all changes |
58 1027 files to transfer, 96.3 KB of data | 63 1030 files to transfer, 96.4 KB of data |
59 transferred 96.3 KB in * seconds (* */sec) (glob) | 64 transferred 96.4 KB in * seconds (* */sec) (glob) |
60 #endif | 65 #endif |
61 | 66 |
62 Clone with background file closing enabled | 67 Clone with background file closing enabled |
63 | 68 |
64 #if stream-legacy | 69 #if stream-legacy |
93 streaming all changes | 98 streaming all changes |
94 sending getbundle command | 99 sending getbundle command |
95 bundle2-input-bundle: with-transaction | 100 bundle2-input-bundle: with-transaction |
96 bundle2-input-part: "stream" (params: 4 mandatory) supported | 101 bundle2-input-part: "stream" (params: 4 mandatory) supported |
97 applying stream bundle | 102 applying stream bundle |
98 1027 files to transfer, 96.3 KB of data | 103 1030 files to transfer, 96.4 KB of data |
99 starting 4 threads for background file closing | 104 starting 4 threads for background file closing |
100 transferred 96.3 KB in * seconds (* */sec) (glob) | 105 starting 4 threads for background file closing |
101 bundle2-input-part: total payload size 110887 | 106 transferred 96.4 KB in * seconds (* */sec) (glob) |
107 bundle2-input-part: total payload size 112077 | |
102 bundle2-input-part: "listkeys" (params: 1 mandatory) supported | 108 bundle2-input-part: "listkeys" (params: 1 mandatory) supported |
103 bundle2-input-bundle: 1 parts total | 109 bundle2-input-bundle: 1 parts total |
104 checking for updated bookmarks | 110 checking for updated bookmarks |
105 #endif | 111 #endif |
106 | 112 |
134 no changes found | 140 no changes found |
135 #endif | 141 #endif |
136 #if stream-bundle2 | 142 #if stream-bundle2 |
137 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed | 143 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed |
138 streaming all changes | 144 streaming all changes |
139 1027 files to transfer, 96.3 KB of data | 145 1030 files to transfer, 96.4 KB of data |
140 transferred 96.3 KB in * seconds (* */sec) (glob) | 146 transferred 96.4 KB in * seconds (* */sec) (glob) |
141 #endif | 147 #endif |
142 | 148 |
143 $ killdaemons.py | 149 $ killdaemons.py |
144 | 150 |
145 Verify interaction between preferuncompressed and secret presence | 151 Verify interaction between preferuncompressed and secret presence |
251 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved | 257 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved |
252 #endif | 258 #endif |
253 #if stream-bundle2 | 259 #if stream-bundle2 |
254 $ hg clone --stream http://localhost:$HGPORT with-bookmarks | 260 $ hg clone --stream http://localhost:$HGPORT with-bookmarks |
255 streaming all changes | 261 streaming all changes |
256 1027 files to transfer, 96.3 KB of data | 262 1033 files to transfer, 96.6 KB of data |
257 transferred 96.3 KB in * seconds (* */sec) (glob) | 263 transferred 96.6 KB in * seconds (* */sec) (glob) |
258 updating to branch default | 264 updating to branch default |
259 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved | 265 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved |
260 #endif | 266 #endif |
261 $ hg -R with-bookmarks bookmarks | 267 $ hg -R with-bookmarks bookmarks |
262 some-bookmark 1:c17445101a72 | 268 some-bookmark 1:c17445101a72 |
281 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved | 287 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved |
282 #endif | 288 #endif |
283 #if stream-bundle2 | 289 #if stream-bundle2 |
284 $ hg clone --stream http://localhost:$HGPORT phase-publish | 290 $ hg clone --stream http://localhost:$HGPORT phase-publish |
285 streaming all changes | 291 streaming all changes |
286 1027 files to transfer, 96.3 KB of data | 292 1033 files to transfer, 96.6 KB of data |
287 transferred 96.3 KB in * seconds (* */sec) (glob) | 293 transferred 96.6 KB in * seconds (* */sec) (glob) |
288 updating to branch default | 294 updating to branch default |
289 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved | 295 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved |
290 #endif | 296 #endif |
291 $ hg -R phase-publish phase -r 'all()' | 297 $ hg -R phase-publish phase -r 'all()' |
292 0: public | 298 0: public |
316 1: public | 322 1: public |
317 #endif | 323 #endif |
318 #if stream-bundle2 | 324 #if stream-bundle2 |
319 $ hg clone --stream http://localhost:$HGPORT phase-no-publish | 325 $ hg clone --stream http://localhost:$HGPORT phase-no-publish |
320 streaming all changes | 326 streaming all changes |
321 1028 files to transfer, 96.4 KB of data | 327 1034 files to transfer, 96.7 KB of data |
322 transferred 96.4 KB in * seconds (* */sec) (glob) | 328 transferred 96.7 KB in * seconds (* */sec) (glob) |
323 updating to branch default | 329 updating to branch default |
324 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved | 330 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved |
325 $ hg -R phase-no-publish phase -r 'all()' | 331 $ hg -R phase-no-publish phase -r 'all()' |
326 0: draft | 332 0: draft |
327 1: draft | 333 1: draft |