Hello Andrew,

Saturday, May 17, 2008, 6:51:27 PM, you wrote:

> If anybody has any interesting insights as to why my version is so
> damned slow, I'd like to hear them.

i equally will be interesting to hear why you think what your program
should be as fast as C version? you wrote it in purely functional
style. as Don wrote, if you want to reach unoptimized C-like
performance, you need to write in C style - with explicit loop
processing primitive types. so

1) -funbox-strict-fields
2) don't use tuples as arguments - they are lazy. you may implement
strict tuples instead
3) function as a parameter is very bad unless it will be inlined

but these are only half-decisions. if you need maximum efficiency,
drop all this high-level code and map md5.c to haskell as it was done
in Don's bloag


-- 
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to