Re: [PATCH] Add persistent-https to contrib
- From
Shawn Pearce <spearce@spearce.org>
- Date
- May 24, 2012, 20:46 UTC
- Message-ID
- <CAJo=hJt4Suu5=kYh3kyOpDSPKr0jiZka=9g6U841PbiWCAQ_pQ@mail.gmail.com>
- In-Reply-To
- <CAJo=hJsfRr7MKcmn8owuyYf7LJ2jzpqgCfkijQ6ahrZfz3CDpw@mail.gmail.com>
On Thu, May 24, 2012 at 1:42 PM, Shawn Pearce <spearce@spearce.org> wrote:
Show 16 quoted lines
> On Thu, May 24, 2012 at 1:29 PM, Jeff King <peff@peff.net> wrote:
>> On Thu, May 24, 2012 at 12:33:08PM -0700, Shawn O. Pearce wrote:
>>
>>> $ (for i in {1..5}; do time git ls-remote
>>> persistent-https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
>>> >/dev/null;done) 2>&1 | grep real
>>> real 0m0.208s
>>> real 0m0.085s
>>> real 0m0.079s
>>> real 0m0.067s
>>> real 0m0.059s
>>
>> 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.
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.067sNotice we still save 30ms or so in this case. That is about the RTT for my workstation to that server. :-)