Scalaris Key-Valueストアは、最大100個のモジュールを備えた大きなErlangプロジェクトです。私はこのプロジェクト内に新しいモジュールを実装していますが、ダイアライザーがプロジェクトの完全なチェックを1回実行するのにかかる時間に驚いています。ここでの私のマシンでの実行に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個含めることになります。高速化するためのより良い方法はありますか後続の実行間で1つのモジュールのみが変更されることを想定したダイアライザー?