On Wed, Aug 27, 2008 at 11:35:23PM +0100, Eric Y. Kow wrote:
> On Wed, Aug 27, 2008 at 23:09:48 +0200, Matthias Kilian wrote:
> > I'm not sure wether using hs-HTTP per default (and dropping libcurl)
> > is a good idea, but at least for pulling patches, it seems to be a
> > real improvement.
> 
> Is this at all related to http://bugs.darcs.net/issue1038 ?

I'm not sure. I just experienced darcs (built to use libcurl) hanging
when running

$ ./darcs-all get

and/or

$ ./darcs-all pull -a

from a fresh ghc tree. Whenever such a hang occurred, a quick look
with netstat(1) reveiled that there were no active connections to
darcs.haskell.org. So, for yet unknown reason, libcurl wasn't able
to establish a connection (or the connection broke) but darcs didn't
notice it. I didn't see any hash failures.

Some experiments with darcs using Network.HTTP instead of libcurl
gave much better results, at least for pull. I don't know wether
this is OpenBSD-related or not, but since Network.HTTP seems to
work better on OpenBSD, I make it the default for the OpenBSD port
of darcs.

> If so, I think it has since been fixed and we can revert to using
> libcurl.  If I understand correctly, the latter is much nicer for
> performance.

Speaking of network performance, I noticed two problems:

- darcs.haskell.org is very slow, and sometimes not reachable at all, at
  least whenever I tried to darcs get, darcs pull or just wget
  something from it ;-)
  I don't know wether it has bad connectivity at all, or wether
  some bandwith-limiting is in action.

- darcs itself, when using Network.HTTP, opens a new connection for
  every single patch. This slows down darcs pull especially on bad
  network links (and it may put more load to the server than
  necessary). I didn't yet look wether this happens with libcurl,
  too, but from what I remember I've seen in the source code, I'd
  expect similar behaviour (that's for darcs-2.0.2; there may already
  be some improvements in the darcs repository).

Ciao,
        Kili

ps: I tested darcs compiled with ghc-6.6.1 and ghc-6.8.3, and didn't
notice any differences for darcs pull.

-- 
Everytime one forgets an argument in a printf-like function call,
God kills a kitten. Commiters, please think of the kittens when
working on code.
                -- Miod Vallat
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to