[erlang-questions] Dialyzer startup time
Kostis Sagonas
kostis@REDACTED
Mon Jun 21 09:02:57 CEST 2010
Bernard Duggan wrote:
> Hi list,
> When running dialyzer, the first thing it always does is the
> "Compiling some key modules to native code" step.
Well, this is not done always. This step is performed only if you are
about to dialyze more than a certain number of files (20, I believe)
which in turn typically results in considerably faster analysis time.
You can bypass this step by using the --no_native (-nn) option.
> Am I right in
> thinking that this phase involves just compiling some actual
> dialyzer-related code (rather than the code I'm trying to analyze)?
Yes.
> If so, surely it isn't necessary to redo this every run given that those
> files won't have changed (unless I actually upgrade my Erlang install).
> Is there a way to cache the compilation results or something so that
> this step (a bit under half the total "dialyzing" time) can be avoided?
> If not, what would it take to add such a system?
There is a way to do this, though not in the way you suggest. I have to
warn you that, even though I am using it in my system for more that a
year now, I am not sure of its status in Erlang/OTP R14A.
If you are interested, give it a try and I'll help you get it working.
Starting from a clean system, there is a configure option:
--enable-native-libs
which you should use at configuration time. Needless to mention, hipe
should also be enabled. Then issue a 'make'. Let us know how it works.
Cheers,
Kostis
More information about the erlang-questions
mailing list