[darcs-users] darcs patch: add exception to haskell_policy.sh for D... (and 61 more)

Don Stewart dons at galois.com
Fri Oct 31 03:15:18 UTC 2008

> Was he aware that the bytestring code started out significantly slower than
> the OldFastPackedstring code? Or did he run any timings? I suspect there
> are significant regressions from the OldFastPackedstring code mixed with
> major improvements elsewhere.  I'd rather not add these significant
> regressions to the repository, but since the first thing he did was to
> remove the older, faster code, it's very hard to track them down.  It's
> very frustrating...
> Don, is there any chance that you'd be willing to go back and track down
> why the bytestring code in unstable is so much slower than the
> non-bytestring code? Or maybe this is fixed in some bytestring package that
> is more recent than the one that ships with ghc 6.8.2 (which is,
> btw)?

Looking at the bytestring code in unstable, I bet its the needless
redirection through functions FastPackedString provides. GHC has to
optimise through yet another layer of indirection! So the old bytestring
layer for darcs is really gunky.

I've also profiled annotate and the profile looks reasonable, with
nothing bytestring related standing out.

I'm also only using bytestring which has yet more performance
improvements over 0.9.0.x. If you'd like to rerun your tests with (available on hackage), that might produce even nicer numbers.

What do you want to do from here?

-- Don

More information about the darcs-users mailing list