Submitter | phabricator |
---|---|
Date | Jan. 21, 2018, 6:56 a.m. |
Message ID | <differential-rev-PHID-DREV-y7xgomfoits37tdxv56o-req@phab.mercurial-scm.org> |
Download | mbox | patch |
Permalink | /patch/27019/ |
State | Superseded |
Headers | show |
Comments
lothiraldan added a comment. The improvement seems nice for the stream but it might have unintended consequences on other network operations. Would it be possible to introduce a config knob to restore the old value or tune it later? REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1932 To: indygreg, #hg-reviewers Cc: lothiraldan, mercurial-devel
indygreg added a comment.
In https://phab.mercurial-scm.org/D1932#32544, @lothiraldan wrote:
> The improvement seems nice for the stream but it might have unintended consequences on other network operations. Would it be possible to introduce a config knob to restore the old value or tune it later?
I agree a commit knob would be useful. Could be done as a follow-up easily enough.
As to whether this will have an impact on other network operations, I'm skeptical. I'm pretty sure we already use 32kb chunks in other places. And, the SSH protocol today may not do any buffering, meaning that each chunk from the iterator gets turned into a socket.send(). That may be creating a ton of TCP overhead...
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1932
To: indygreg, #hg-reviewers
Cc: lothiraldan, mercurial-devel
durin42 added a comment.
In https://phab.mercurial-scm.org/D1932#32544, @lothiraldan wrote:
> The improvement seems nice for the stream but it might have unintended consequences on other network operations. Would it be possible to introduce a config knob to restore the old value or tune it later?
If I'm understanding this right, it's a server-side-only change, so I'd rather defer the knob until we have a benchmark that shows this is detrimental.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1932
To: indygreg, #hg-reviewers
Cc: durin42, lothiraldan, mercurial-devel
Patch
diff --git a/tests/test-clone-uncompressed.t b/tests/test-clone-uncompressed.t --- a/tests/test-clone-uncompressed.t +++ b/tests/test-clone-uncompressed.t @@ -199,15 +199,15 @@ $ f --size --hex --bytes 256 body - body: size=112318 + body: size=112222 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| 0010: 68 07 53 54 52 45 41 4d 31 00 00 00 00 03 00 09 |h.STREAM1.......| 0020: 05 09 04 0c 2d 62 79 74 65 63 6f 75 6e 74 39 38 |....-bytecount98| 0030: 37 35 38 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |758filecount1030| 0040: 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 65 |requirementsdote| 0050: 6e 63 6f 64 65 20 66 6e 63 61 63 68 65 20 67 65 |ncode fncache ge| 0060: 6e 65 72 61 6c 64 65 6c 74 61 20 72 65 76 6c 6f |neraldelta revlo| - 0070: 67 76 31 20 73 74 6f 72 65 00 00 10 00 73 08 42 |gv1 store....s.B| + 0070: 67 76 31 20 73 74 6f 72 65 00 00 80 00 73 08 42 |gv1 store....s.B| 0080: 64 61 74 61 2f 30 2e 69 00 03 00 01 00 00 00 00 |data/0.i........| 0090: 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 01 |................| 00a0: ff ff ff ff ff ff ff ff 80 29 63 a0 49 d3 23 87 |.........)c.I.#.| diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py --- a/mercurial/bundle2.py +++ b/mercurial/bundle2.py @@ -183,7 +183,7 @@ _fpayloadsize = '>i' _fpartparamcount = '>BB' -preferedchunksize = 4096 +preferedchunksize = 32768 _parttypeforbidden = re.compile('[^a-zA-Z0-9_:-]')