12

看完这个问题后,Erlang 是集群计算世界的 C 吗?,我想知道官方的 Erlang OTP 是用 HiPE 编译的吗?

换句话说,当我.erl使用 OTP 版本 R13(例如)编译我的源代码时,它是否会产生“目标代码”BEAM?

查看http://www.it.uu.se/research/group/hipe/,似乎不再维护独立的 HiPE 编译器。

4

2 回答 2

20

默认情况下,HiPE 不用于编译 OTP。然而,众所周知,OTP 库可以使用 HiPE 成功编译,通常会带来一些性能提升(尽管这取决于您的应用程序)。

当您erlc.erl文件上运行时,它会生成 BEAM 文件,该文件不会使用 HiPE 编译为本机代码。要.erl使用 HiPE 将文件编译为本机代码,只需运行erlc +native file.erl.

不再维护独立的 HiPE 编译器,因为它包含在核心 Erlang/OTP 发行版中。

于 2010-02-05T13:24:45.690 回答
1

我认为这取决于您在编译 Erlang 编译器时传递给配置脚本的选项。它当然可以包含它,但默认情况下是否包含它是另一个问题。

于 2010-02-05T13:14:05.390 回答