On Thu, May 24, 2012 at 1:42 PM, Shawn Pearce <spearce@xxxxxxxxxxx> wrote: > On Thu, May 24, 2012 at 1:29 PM, Jeff King <peff@xxxxxxxx> 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.067s Notice we still save 30ms or so in this case. That is about the RTT for my workstation to that server. :-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html