
Hello Alistair, Wednesday, August 23, 2006, 1:43:30 PM, you wrote:
I've found the folder in which I did some of this testing, and GNU diff has no problem with the input files; they're only 7M, My program spends 70% of its time doing String-IO (so 30% in the algorithm), and peaks at about 350M of memory (which seems quite high, but then it does convert the String input into STArrays). The algorithm itself takes about 18secs on this input (wall-clock time), but the profile says a lot less CPU time is used.
I think using ByteStrings would be a big improvement; maybe I'll find time to try that later.
as variant, you can try streams library - it's several times faster for line-oriented I/O. another solution that can also speed up your code, although not so much, is to use hGetContents and then 'lines' http://haskell.org/haskellwiki/Library/Streams http://www.haskell.org/library/StreamsBeta.tar.gz -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com