[erlang-questions] Dialyzer startup time
Thu Jun 24 02:10:48 CEST 2010
> What does your Erlang banner look like? On my office it looks as:
> Erlang R14A (erts-5.8) [source] [smp:4:4] [rq:4] ... [hipe]
Erlang R13B04 (erts-5.7.5) [source] [smp:2:2] [rq:2] [async-threads:0]
> Also, can you check which OTP libraries/applications were compiled to
> native code? The ones that matter for this task are files in stdlib,
> compiler, hipe and dialyzer.
> If you do not know how to look, you find out about this for some module
> by the command:
> 1> [begin code:ensure_loaded(M), code:is_module_native(M) end
> || M<- [erl_types, cerl, sets, dialyzer_plt]].
That was the issue - it turned out that building/installing from a clean
source package with --enable-native-libs was, for some reason, not
sufficient (ended up with [false, false, false, false]). I had to
manually delete and rebuild the beams in the hipe, stdlib and compiler
directories then run the install again. That got it, and the native
compilation part of dialyzer is now down to <7s (a dual-core laptop,
about 3 years old, for reference).
Thanks very much for your (and Tuncer's) help. It would be interesting
to know why it didn't build native libs the first time, but that could
easily be something that's been resolved in R14A (haven't spent the time
to upgrade yet - I'm a coward and am waiting for 14B :)).
More information about the erlang-questions