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 <[email protected]>wrote: > 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 > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
