Hi Dominic, Dominic Steinitz wrote: > I've been playing around some more trying improve the performance of the SHA1 > implmentation in the crypto library. I've isolated one of the functions and > implemented it using > > a) unfold > > and > > b) STUArray > > The STUArray implementation is about twice as fast but I was expecting an > order of magnitude improvement given I thought I would have been allocating > 16 x 80 new 32 bit words with unfold but nothing with the STUArray. > > Should I have been disappointed? > > [EMAIL PROTECTED]:~/sha12> time ./arrTest 17 STUArray > /dev/null > > real 0m11.102s > user 0m9.129s > sys 0m0.112s > [EMAIL PROTECTED]:~/sha12> time ./arrTest 17 Unfold > /dev/null > > real 0m18.381s > user 0m16.361s > sys 0m0.212s > > <code snipped>
I did not have time to look into your code yet. But the question whether this is only a constant factor improvement or an implementation with a different time complexity can only be researched by a series of experiments with different input sizes. An interpretation of a series of results of experiments is more meaningful than just one data point. Greets, Jean-Marie _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe