On Fri, Sep 22, 2006 at 08:30:20PM -0400, George Beshers wrote: > > This starts out with my being interested in darcs <-> git related issues. > Since git uses sha1 I wanted to have the ability to calculate sha1 in > an application where I was intending to use darcs as a back-end. > > The performance gap is > * 30 between Haskell and sha1sum. That > seemed rather steep and so I started looking...
I did some work on optimising the SHA1.lhs in the darcs source a while ago. My memory is that I got to about a factor of 2 of C, and that most of the rest was due to GHC generating code with things like heap size checks unnecessarily inside loops. It uses darcs' FPS rather than the ByteString fork, of course, but it should be easy enough to port. http://www.abridgegame.org/repos/darcs-unstable/SHA1.lhs Thanks Ian _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell