[erlang-bugs] R16B02: Dialyzer consumes too much, if not infinite, amount of memory for some apps
Mon Nov 18 09:09:42 CET 2013
On 11/18/2013 02:55 AM, Masatake Daimon wrote:
>> It's true that for the analysis of modules that contain deeply recursive
>> types, such as those in syntax_tools, Dialyzer needs some GBs to run (*)
>> but I think that this should not really be a problem in any reasonable
>> machine that one can buy these days. Sorry but Dialyzer was never meant
>> to run on Raspberry Pis.
>> (*) I was curious so I tried to see how much memory is needed: To build
>> a PLT for syntax_tools you need approx. 1.7GBs on 32-bit machines and
>> 3.1GBs on 64-bit machines.
> Thanks for your reply, but why Dialyzer needs that much memory in the
> first place? Even though machines with 8 GiB RAM is not uncommon these
> days, consuming 3.1 GiB for PLT looks hardly reasonable to me.
As I wrote, these modules contain functions with deeply recursive types
whose explicit representation, up to some depth, requires much memory.
That's the nature of explicit representation of recursive types and
that's the best we could do given that consuming lots of memory up to a
point is not a problem these days (for most people/applications).
If it somehow is a problem for you, feel free to improve on what the
tool does. We welcome patches.
More information about the erlang-bugs