On Sat, Jul 19, 2008 at 11:35 PM, Chaddaï Fouché <[EMAIL PROTECTED]>
wrote:

> 2008/7/19 Krzysztof Skrzętnicki <[EMAIL PROTECTED]>:
> > I forgot to mention that the memory consumption is several times higher
> 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
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to