[darcs-devel] Profiling Darcs

David Roundy daveroundy at gmail.com
Tue Apr 15 22:37:45 UTC 2008


On Sat, Apr 12, 2008 at 10:31 AM, Gwern Branwen <gwern0 at gmail.com> wrote:
>  # For Darcs-2 repos, the ByteString packed/unpack routines seem to
>  take a really distressing amount of time. One of the two seems to
>  always be in the top 4, and sometimes eating up extremely large
>  amounts of time, like 38%. I have a theory that this is because the
>  curl/libwww functions return a String, which immediately has to be
>  packed into a ByteString for all the other functions; if this is true,
>  then we might be able to get a real performance improvement with
>  functions that do network I/O in ByteString.

You probably should try profiling without bytestring.  If we're using
String, I believe it's in the bytestring code, not in darcs proper.
Certainly it's not true that libcurl uses String.

I'll just add that profiling output is very hard to interpret.

David


More information about the darcs-devel mailing list