[darcs-devel] darcs patch: add optional support for using the pure haskell Networ...
David Roundy
droundy at darcs.net
Thu Jan 10 23:16:55 UTC 2008
On Thu, Jan 10, 2008 at 03:07:02PM -0800, John Meacham wrote:
> On Thu, Jan 10, 2008 at 05:37:48PM -0500, David Roundy wrote:
> > On Thu, Jan 10, 2008 at 02:00:05PM -0800, John Meacham wrote:
> > > Thu Jan 10 13:58:59 PST 2008 John Meacham <john at repetae.net>
> > > * add optional support for using the pure haskell Network.HTTP http implementation
> >
> > Thanks for the contribution! I notice that Network.HTTP uses strict Strings
> > to store the file contents, which is rather troubling in terms of
> > performance! I suppose this opens the door for a potential rewrite of
> > Network.HTTP for darcs?
>
> Yes. I am actually working on adding persistant connections and
> ByteString support to HTTP for this. I just wanted to get the quick
> dirty and working version in there first and get some feedback.
Great! That's exactly the news I wanted to hear! :)
Have you taken followed the discussion we've been having about libwww and
the internal API? I think that the combination of getUrls and waitForURL
sounds like a good interface for pipelined downloads... although I notice
you mention persistent connections but not pipelining. Any chance you'd be
willing to take a shot at pipelining?
> It is quite slow at the moment, but ByteStrings should help a whole lot.
>
> And I have other ideas I want to implement, such as intelligent handling
> of redirects. (once you get a redirect, rewrite all futher urls so you
> don't keep bouncing back and forth following a redirect for each file).
> Also, I was looking into it changing the _darcs/prefs/defaultrepo to
> reflect the redirection on '301 permanent redirect' responses (but not
> temporary redirects).
>
> This should help people migrating repository locations greatly.
That also sounds good, too.
--
David Roundy
Department of Physics
Oregon State University
More information about the darcs-devel
mailing list