[erlang-questions] Dialyzer startup time

Tuncer Ayaz <>
Wed Jun 23 19:25:16 CEST 2010


Following advice from Kostis the 30 or 20 secs can be reduced to
6secs if you manually rebuild HiPE before installing the otherwise
completely built OTP tree.

First make sure native compilation will be used:
$ cat lib/hipe/native.mk
ifndef SECONDARY_BOOTSTRAP
ifeq ($(NATIVE_LIBS_ENABLED),yes)
ERL_COMPILE_FLAGS += +native
endif
endif

$ grep -C2 native lib/hipe/cerl/Makefile
# ----------------------------------------------------

include ../native.mk

ERL_COMPILE_FLAGS += +inline +warn_exported_vars +warn_unused_import
+warn_missing_spec# +warn_untyped_record

Then delete the hipe beams and re-make:
$ rm lib/hipe/ebin/*.beam
$ make hipe

Now you can install your OTP build or replace the HiPE beams in your install.

If everything was successful erl_types and erl_bif_types should now
also have native code.

Not all modules in the OTP tree are configured to be +native compiled
so don't be surprised that any module outside of the following apps has
no native code:
compiler, dialyzer, hipe, kernel, stdlib, syntax_tools


More information about the erlang-questions mailing list