当单独运行 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/

10-13 02:07