当单独运行 Dialyzer 时,它会使用 HiPE 编译其模块,以加快分析速度:
dialyzer --src -r .
Checking whether the PLT /home/foo/.dialyzer_plt is up-to-date... yes
Compiling some key modules to native code... done in 0m12.27s
Proceeding with analysis...
当有许多模块要分析时,这会对运行时间产生很大的影响。
当您运行
rebar3 dialyzer
命令时,Rebar3 会这样做吗? documentation 并没有这样或那样的说法。 最佳答案
正如 Dogbert 在评论中提到的,rebar3 中的默认值是使用源格式。原生版本有一个挂起的拉取请求 ( https://github.com/erlang/rebar3/pull/1493 ) 在可用时切换到 HiPE 格式,但在 rebar3 的上下文中,非原生版本的基准测试速度更快,到目前为止我们还没有将其合并。
我刚刚更新了那里的 PR 讨论,以查看即使默认情况下未启用它是否也无法包含在内。
关于erlang - Rebar3 是否使用 HiPE 编译 Dialyzer 模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43934929/