[Haskell-cafe] Comments and suggestions on code

Jonathan Cast jonathanccast at fastmail.fm
Sat Jan 12 16:11:40 EST 2008


On 12 Jan 2008, at 10:26 AM, Andre Nathan wrote:

> On Sat, 2008-01-12 at 10:11 -0800, Jonathan Cast wrote:
>> A nit: the list is almost certainly getting created lazily, or you'd
>> get more than 300% more memory usage.  But you still get the list's
>> cons cells as your bookkeeping baggage, and they take up space in
>> exchange for greater flexibility.
>
> But when I'm processing, say, the last directory entry, I have memory
> allocated for the other 9999 entries that have already been processed,
> right?

No.  That would lead to a much larger difference.  What you're seeing  
is the result of allocating a node in a linked list, not just a  
single directory entry.  getDirectoryContents in this case certainly  
does not read in the entire directory, nor does it allocate space for  
it --- either of those would require much more than a 4x increase in  
the amount of memory.

> I think that's where the 8M vs 2M difference comes from.

jcc



More information about the Haskell-Cafe mailing list