
On Sat, Jul 19, 2008 at 11:35 PM, Chaddaï Fouché
I forgot to mention that the memory consumption is several times higher
2008/7/19 Krzysztof Skrzętnicki
: than file size. On 8,3 Mb file:
532 MB total memory in use (4 MB lost due to fragmentation).
Having that 8 Mb in memory is not the problem. 532 Mb is another story. In general, the program consumes roughly 64 times more memory than file size and it scales linearly.
You should be using ByteString, though this problem would be alleviated if you were consuming the file as a stream.
Since ANSI color codes doesn't contain characters like newline or space, I have simply split input file into such lines. Now the whole program behaves much better: GC time is below 10% and memory consumption dropped to 74 Mb per thread. It's still a lot of memory though and it certainly holds much more than one line of text. Best regards Christopher Skrzętnicki