[darcs-users] soc progress 3

Petr Rockai me at mornfall.net
Thu Jun 11 09:42:37 UTC 2009


Dan Pascu <dan at ag-projects.com> writes:

> Wouldn't a persistent http connection serve better this purpose? Starting with
> version 1.1 the http protocol supports keep-alive, which  means you only have
> to make 1 connection and can fetch all the files  over it. I believe that
> making a lot of one shot connections that only  fetch one file is much more
> taxing than the fact that there are many  files to transfer. I think that
> making less connections can result in  a better improvement than reducing the
> number of files to fetch,  unless that number becomes 1. This is more apparent
> in the case of  https where the initial connection setup is very expensive.
We already use pipelining when possible. First, our implementation helps only
marginally, second only very few systems actually support it.

> In the end both techniques could be applied, it's just my belief that using
> keep-alive can provide a larger improvement, with less effort.  Later we could
> see if grouping small files together provides any  significant improvement over
> that or it's just marginal, in which case  the extra complexity is probably not
> worth it.
You could try compiling darcs with curl-pipelining and do some benchmarking. I
don't know how much this helps with hashed repositories, I just recall this not
as much as one'd hope.

Moreover, disk usage is a concern here as well -- most filesystems in real use
have a block size of some 4 kilobytes.

Yours,
   Petr.

-- 
Peter Rockai | me()mornfall!net | prockai()redhat!com
 http://blog.mornfall.net | http://web.mornfall.net

"In My Egotistical Opinion, most people's C programs should be
 indented six feet downward and covered with dirt."
     -- Blair P. Houghton on the subject of C program indentation


More information about the darcs-users mailing list