
this is where I've gotten to.
http://moonpatio.com/fastcgi/hpaste.fcgi/view?id=5120#a5120
strangely enough Ive gotten no speedup at all from the substitution cost
UArray (though I had to make it Int, Int to deal with digits.). But still I
wonder if there's something else I missed. Im really curious what lazyness
you used to go from 60 to 1.6? I always thought lazyness was automatic and
seq made strictness possible.
thanks
Vishnu
On Sat, Nov 28, 2009 at 7:41 AM, Daniel Fischer
Am Samstag 28 November 2009 02:04:31 schrieb Daniel Fischer:
Make it
distance orig new = f m n
and no thunks need be written at all in this case. Cuts down running time by nearly half :)
I think you could speed it up significantly by calculating the distance more lazily.
Yup :D
Timings here: Your last ByteString code: 128s That with corrected index calculation: 172s Correct indices and distance orig new = f m n instead of memf m n: 99s That and an array for the substitution cost: 64s
String IO, substitution cost array and a suitably lazy break-early distance function: 1.7s That and a lazier surcharge function: 1.5s The same with ByteString IO: 1.4s
Yes, I'd say that qualifies as a significant speedup. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe