[erlang-questions] Remove behaviour checking from erl_lint (continued)
Fred Hebert
mononcqc@REDACTED
Tue Dec 20 15:52:29 CET 2016
I'm not taking position here; I do enjoy the compiler yelling at me for
valid reasons when it can, and most tools out there provide good
integration with my editor based on its output rather than the output of
other tools.
That being said, I'm not closed to the idea of people who care about the
compiler's well-being to be able to clean it up and maintain it better.
On 12/20, Loïc Hoguin wrote:
>I believe xref should be made more approachable though, either in
>documentation or interface. It seems to be capable of a lot more than
>"rebar xref".
>
Xref is a better candidate to move that stuff to than dialyzer, which
requires minutes of runtime the first time around, but also requires a
lot of memory.
On my VPS, if I try to run dialyzer on the rebar3 code base, it will
take minutes, yes, but will also hover between 1.0 and 1.5GB of RAM
usage while pegging 3-4 of the 4 CPUs at 100%, until it eventually gets
killed by the OS.
That's for 62 source files, and 29,000 LoC (we get 59 files and 12637
lines of code if we stop analyzing certifi, which has CA cert bundles
inlined -- but does not change the overall dialyzer behaviour of getting
killed by the OS).
I'm not saying this to disparage dialyzer, but the type of analysis it
can do and that I use it for (and where I run it) does not include the
basic checks that xref or the compiler does.
xref usability also needs to be a bit better before I'd consider it to
be an intuitive tool that does not require wrapping before running as an
end user.
More information about the erlang-questions
mailing list