You may want to discuss such things on the [email protected] list, but here's some answers:
1. The svn HTTP protocol is horribly inefficient, due to huge numbers of extra requests that are only done to be 'dav compliant'. My current 20% project is to rewrite the protocol to be streamlined and as small as possible. We've given up on DAV, as it buys us almost nothing. I'm doing this work in the public svn codebase, and it should be released to the public by summer. It should result in overall HTTP speedup for anyone using 1.6 client and servers. 2. The svn client has two optional HTTP client libraries it can use: neon or serf. Neon is our legacy library, and does *all* HTTP requests synchronously. But Serf opens 4 connections to the server (just like a web browser does) and parallelizes requests as much as possible. It's also capable of 'pipelining' requests on a single connection. In theory, it should be faster than neon, and you can try it out by setting 'http-library=serf' in your ~/.subversion/servers file. 3. The native svn protocol spoken to the 'svnserve' server is MUCH faster than HTTP. Mainly because it's stateful, rather than stateless. And yes, this protocol definitely pipelines commit requests. If you want speed, there's absolutely nothing faster than using the svn:// protocol against an svnserve server. On Thu, Feb 5, 2009 at 6:50 AM, Stian Soiland-Reyes <[email protected]> wrote: > > On Feb 4, 9:31 pm, Ben Collins-Sussman <[email protected]> wrote: >> Thanks for the details, but it's also not news to us. :-) > > Thanks again for your detailed answer, I did suspect your architecture > was something like that :-) > > We'll try to live with it for now, it's good to hear that potential > latency improvements are in the work. > > I also wonder if some of the latency issues comes down to the http > +webdav protocol being synchronous - for instance I guess it does one > MKCOL and waits for it to be finished before the second deeper MKCOL > is performed. Would supporting the svn:// protocol make any difference > in latency, or is it synchronous in the same way? > > -- > Stian Soiland-Reyes > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hosting at Google Code" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-code-hosting?hl=en -~----------~----~----~----~------~----~------~--~---

