]> Kevux Git Server - rit/commitdiff
fetch-pack: use smaller handshake window for initial request
authorJunio C Hamano <gitster@pobox.com>
Mon, 21 Mar 2011 04:52:45 +0000 (21:52 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Mar 2011 04:53:30 +0000 (21:53 -0700)
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>
builtin/fetch-pack.c

index b4f34a2..3c2c940 100644 (file)
@@ -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;