问题
After reading this question Is Erlang the C of the clustered computing world? , I am wondering the official Erlang OTP compiles with HiPE?
In other words, when I compile my .erl
source with the OTP release R13 (as example), does it produce "object code" BEAM?
Looking at http://www.it.uu.se/research/group/hipe/ , it does not appear that a standalone HiPE compiler is maintained anymore.
回答1:
By default HiPE is not used to compile OTP. It is known, however, that OTP libraries can be successfully compiled using HiPE with usually some performance boost (though it depends on your application).
When you run a erlc
on your .erl
file it produces BEAM file, which is NOT compiled to native code with HiPE. To compile an .erl
file to native code using HiPE just run erlc +native file.erl
.
Standalone HiPE compiler is not maintained anymore, since it was included into core Erlang/OTP distribution.
回答2:
I think this depends on what options you passed to the configure script when you compiled the Erlang compiler. It certainly can include it but whether it does by default or not is another issue.
来源:https://stackoverflow.com/questions/2207360/erlang-otp-release-compiles-with-hipe