[darcs-users] darcs patch: Add --debug-http flag to enable curl and... (and 3 more)

Gwern Branwen gwern0 at gmail.com
Wed Aug 13 12:58:21 UTC 2008


On 2008.08.11 15:33:37 -0700, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> scribbled 30K characters:
> Hi David.
>
> Here are few patches. The first should be good and I have sent you before. But
> there was no reply.
>
> The last one is my effort to rework URL module to support multi threading. Actual
> download is done in a separate thread. And result is reported through MVar's. I
> would like to get comments on the idea in general and the implementation. Patch
> was done on top of my previous "not so good" patches. I am not sure what is the
> best way to fix this. Any advices?
>
> Also, "make unit" fails to compile src/Darcs/Patch/Test.lhs:
>
> src/Darcs/Patch/Test.lhs:195:49:
>     No instance for (Arbitrary Char)
>       arising from a use of `unempty'
>                    at src/Darcs/Patch/Test.lhs:195:49-55
>     Possible fix: add an instance declaration for (Arbitrary Char)
>     In the fifth argument of `liftM4', namely `unempty'
>     In the expression: liftM4 patchinfo unempty unempty unempty unempty
>     In the definition of `arbpi':
>         arbpi = liftM4 patchinfo unempty unempty unempty unempty
>
> So I can not run unit tests. But "make test" passes all tests.
>
> Regards,
>   Dmitry

OK, for starters: I like the performance improvement here. Before darcs getting Tahoe took me 97 minutes, but with this I saw a 26 minute get. (Tahoe is a darcs-1 repo with ~2800 patches and roughly as many files.) Which is a considerable improvement, definitely.

The bad news though is that this seems to completely break profiling support under GHC 6.8.2.

That is,

$ make clean && ./configre --prefix=/home/gwern/bin --enable-profile --with-curl-pipelining && make install -j10


leads to:

gwern at craft:16499~>http_proxy="" HTTP_PROXY="" =darcs get http://allmydata.org/source/tahoe/trunk                     [ 8:56AM]

darcs failed:  Not a repository: http://allmydata.org/source/tahoe/trunk (RTS doesn't support multiple OS threads (use ghc -threaded when linking))


This may or may not be a 6.8.2 specific issue, being unable to compile with profiling and threading, but it's definitely a problem of interest to me. If it got fixed in 6.8.3, maybe we don't want to do anything (but we'd still need some doc mentions, I think).

--
gwern
IMF MSNBC industrial quarter quarter IACIS UTU IFO GOSIP SRAM"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20080813/0b93721f/attachment.pgp 


More information about the darcs-users mailing list