[erlang-questions] Understanding memory usage

Ward Bekker (TTY) <>
Mon Jan 28 10:50:12 CET 2013

Hi Erik,

Doh! Thank you very much by pointing that out. That was the fix. Memory consumption is now constant and below 20MB.


On 28 jan. 2013, at 09:46, Erik Søe Sørensen <> wrote:

> 2013/1/26 Ward Bekker (TTY) <>
> Hi,
> I run into high memory usage (>1.5GB) when running `crack_util:crack` from this module: https://gist.github.com/4642789 (make sure crypto is running: `crypto:start()`). As far as I can see, it's not creating (or holding on to)  huge pieces of data.
> Why is that?
> It happens in this line:
> lists:seq(0, Products-1)).
> because
> Products = round(math:pow(length(?CHAR_LIST), TryLength)) = 59^5 = 714924299
> lists:seq() is, as anything else in Erlang, calculated eagerly, so you get a full representation of the list.
> In a 32-bit Erlang VM, that takes 5,7GB.
> You may want to write a function that folds over a range of integers, and use that instead of lists:foldl(_,_,lists:seq(A,B)) :-)
> /Erik

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130128/d5fb7bef/attachment.html>

More information about the erlang-questions mailing list