Scalaris Key Key Store is a large Erlang project with ~ 100 modules. I am introducing a new module as part of this project, and I am amazed at how long it takes for the dialyzer to perform one complete check of the project. Running make dialyzer
takes about 200 seconds on my machine, which is unbearable for frequent testing when implementing changes.
make dialyzer
runs the following command to start the dialyzer:
/usr/lib/erlang/bin/dialyzer -Dtid_not_builtin -Dwith_export_type_support \ -DNO_FILE_SENDFILE -Dhave_cthooks_support -Dhave_callback_support \ -Werror_handling -Wrace_conditions -Wunmatched_returns -I include/ \ -I contrib/yaws/include/ -I contrib/log4erl/include/ \ --src -c src src/*/ test/unittest_helper.erl test/tester*.erl \ test/mockup*.erl test/erl_id_trans.erl \ test/measure_util.erl test/scalaris_cth.erl \ --no_native
I assume that I should be able to include only the files needed for my module in the list of options for --src
, but this list is probably quite large, and it comes down to including 90 files of a given 100. Is there a better way to speed up the dialyzer with the assumption that only one module will change between subsequent runs?
source share