2010-02-05 10 views
13

Nach dem Lesen dieser Frage Is Erlang the C of the clustered computing world?, frage ich mich, das offizielle Erlang OTP kompiliert mit HiPE?Erlang OTP-Freigabe kompiliert mit HiPE?

Mit anderen Worten, wenn ich meine .erl Quelle mit dem OTP-Release R13 kompilieren (als Beispiel), produziert es "Objektcode" BEAM?

Wenn Sie http://www.it.uu.se/research/group/hipe/ betrachten, scheint es nicht, dass ein eigenständiger HiPE-Compiler mehr gepflegt wird.

+0

bezogen: http://stackoverflow.com/questions/2207451/erlang-compilation-mixed-of-hipe-object-code-and-opcode – jldupont

+0

verwandt: http://stackoverflow.com/questions/2207481/what -are-the-constraint-limitation-of-compiling-with-native – jldupont

Antwort

20

Standardmäßig wird HiPE nicht zum Kompilieren von OTP verwendet. Es ist jedoch bekannt, dass OTP-Bibliotheken erfolgreich mit HiPE kompiliert werden können, wobei normalerweise eine gewisse Leistungssteigerung erzielt wird (obwohl dies von Ihrer Anwendung abhängt).

Wenn Sie eine erlc auf Ihrer .erl Datei ausführen, erzeugt es BEAM-Datei, die nicht mit HiPE in nativen Code kompiliert wird. Um eine .erl Datei mit HiPE in nativen Code zu kompilieren, führen Sie einfach erlc +native file.erl aus.

Der Standalone-HiPE-Compiler wird nicht mehr gepflegt, da er in die Core-Erlang/OTP-Distribution aufgenommen wurde.

+0

+1: Das ist also die "native" Option! Vielen Dank. – jldupont

1

Ich denke, das hängt davon ab, welche Optionen Sie an das Configure-Skript übergeben, wenn Sie den Erlang-Compiler kompiliert haben. Es kann sicherlich enthalten, aber ob es standardmäßig oder nicht ist ein anderes Problem.