Re: [PATCH] Add persistent-https to contrib
- From
Jeff King <peff@peff.net>
- Date
- May 24, 2012, 20:51 UTC
- Message-ID
- <20120524205107.GA21329@sigill.intra.peff.net>
- In-Reply-To
- <CAJo=hJt4Suu5=kYh3kyOpDSPKr0jiZka=9g6U841PbiWCAQ_pQ@mail.gmail.com>
On Thu, May 24, 2012 at 01:46:36PM -0700, Shawn O. Pearce wrote:
Show 7 quoted lines
> >> Nice numbers. And as clever as I find this helper-wrapping-a-helper > >> solution, I wonder if the right layer for a fix isn't inside curl. It > >> already keeps an ssl session-id cache in memory; how hard would it be to > >> turn that into an on-disk cache? > ... > > Well, this helper "solution" also has the benefit of HTTP keep-alive > > working across Git command invocations.
True. It also works even when the server does not support ssl id caching.
Show 22 quoted lines
> Here is plaintext HTTP, where the benefit is from HTTP keep-alive:
>
> (for i in {1..5}; do time git ls-remote
> http://android.googlesource.com/tools/repo >/dev/null;done) 2>&1 |
> grep real
> real 0m0.098s
> real 0m0.097s
> real 0m0.106s
> real 0m0.095s
> real 0m0.105s
>
> (for i in {1..5}; do time git ls-remote
> persistent-http://android.googlesource.com/tools/repo >/dev/null;done)
> 2>&1 | grep real
> real 0m0.134s
> real 0m0.065s
> real 0m0.063s
> real 0m0.061s
> real 0m0.067s
>
> Notice we still save 30ms or so in this case. That is about the RTT
> for my workstation to that server. :-)Nice. I assumed most of your speedup was coming from dropping the SSL setup, but it seems that a good chunk of it is just the TCP setup. Thanks for providing numbers.
-Peff