diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-03-20 21:52:45 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-03-20 21:53:30 -0700 |
commit | 066bf4c2e43c7fb40405843e49f809431314865d (patch) | |
tree | b6d4c1f00603f9f9de0810b825b90a04d543a33a | |
parent | 6afca450c3f2f05385900a7b8d3a0d47286f983f (diff) | |
download | git-066bf4c2e43c7fb40405843e49f809431314865d.tar.gz git-066bf4c2e43c7fb40405843e49f809431314865d.tar.xz |
fetch-pack: use smaller handshake window for initial request
Start the initial request small by halving the INITIAL_FLUSH (we will try
to stay one window ahead of the server, so we would end up giving twice as
many "have" in flight at the very beginning). We may want to tweak these
values even more, taking MTU into account.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Shawn Pearce <spearce@spearce.org>
-rw-r--r-- | builtin/fetch-pack.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index b4f34a2cf..3c2c9406c 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -218,12 +218,14 @@ static void send_request(int fd, struct strbuf *buf) safe_write(fd, buf->buf, buf->len); } -#define INITIAL_FLUSH 32 +#define INITIAL_FLUSH 16 #define LARGE_FLUSH 1024 static int next_flush(int count) { - if (count < LARGE_FLUSH) + if (count < INITIAL_FLUSH * 2) + count += INITIAL_FLUSH; + else if (count < LARGE_FLUSH) count <<= 1; else count += LARGE_FLUSH; |