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
-~----------~----~----~----~------~----~------~--~---

Reply via email to