2010-02-05 9 views
13

Dopo aver letto questa domanda Is Erlang the C of the clustered computing world?, mi chiedo se l'Erlang OTP ufficiale sia compilato con HiPE?Erlang OTP rilascia la compilazione con HiPE?

In altre parole, quando compilo la mia sorgente .erl con la versione OTP R13 (ad esempio), genera "codice oggetto" BEAM?

Guardando a http://www.it.uu.se/research/group/hipe/, non sembra che un compilatore HiPE standalone sia mantenuto più.

+0

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

+0

related: http://stackoverflow.com/questions/2207481/what -are-the-constraints-limitations-of-compiling-with-native – jldupont

risposta

20

Per impostazione predefinita, HiPE non viene utilizzato per compilare OTP. È noto, tuttavia, che le librerie OTP possono essere compilate con successo usando HiPE, solitamente con un incremento delle prestazioni (anche se dipende dall'applicazione).

Quando si esegue erlc sul file .erl, viene generato il file BEAM, che NON viene compilato nel codice nativo con HiPE. Per compilare un file .erl in codice nativo utilizzando HiPE, esegui solo erlc +native file.erl.

Il compilatore HiPE standalone non viene più gestito poiché è stato incluso nella distribuzione Erlang/OTP di base.

+0

+1: ecco cos'è l'opzione "nativa"! Grazie. – jldupont

1

Penso che questo dipenda dalle opzioni che hai passato allo script configure quando hai compilato il compilatore Erlang. Certamente può includerlo, ma se lo fa per impostazione predefinita o no è un altro problema.

Problemi correlati