【发布时间】:2012-08-15 20:21:00
【问题描述】:
Scalaris key-value store 是一个包含约 100 个模块的大型 Erlang 项目。我正在这个项目中实施一个新模块,并且对透析器对项目进行一次完整检查需要多长时间感到震惊。 make dialyzer 在我这里的机器上运行大约需要 200 秒,这对于在实施更改时进行频繁的测试是难以忍受的。
make 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
我想我应该只能在--src 的参数列表中包含我的模块所需的文件,但该列表可能非常大,归结为包含给定 100 个文件中的 90 个文件。有一种更好的方法来加速透析器,假设在后续运行之间只有一个模块会发生变化?
【问题讨论】: