2010-02-05 29 views
13

Sau khi đọc câu hỏi này Is Erlang the C of the clustered computing world?, tôi tự hỏi chính thức Erlang OTP biên dịch với HiPE?Biên dịch phát hành Erlang OTP với HiPE?

Nói cách khác, khi tôi biên dịch nguồn .erl với bản phát hành OTP R13 (ví dụ), nó có tạo ra "mã đối tượng" BEAM không?

Nhìn vào http://www.it.uu.se/research/group/hipe/, nó không xuất hiện mà trình biên dịch HiPE độc lập được duy trì nữa.

+0

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

+0

liên quan: http://stackoverflow.com/questions/2207481/what -are-the-constraints-limits-of-compiling-with-native – jldupont

Trả lời

20

Theo mặc định, HiPE không được sử dụng để biên dịch OTP. Tuy nhiên, nó được biết rằng các thư viện OTP có thể được biên dịch thành công bằng cách sử dụng HiPE với một số hiệu suất tăng (mặc dù nó phụ thuộc vào ứng dụng của bạn).

Khi bạn chạy erlc trên tệp .erl của bạn, tệp này tạo tệp BEAM, tệp này KHÔNG được biên dịch thành mã gốc với HiPE. Để biên dịch tệp .erl thành mã gốc bằng cách sử dụng HiPE, chỉ cần chạy erlc +native file.erl.

Trình biên dịch HiPE độc lập không được duy trì nữa, vì nó được đưa vào phân phối Erlang/OTP lõi.

+0

+1: do đó, đó là những gì tùy chọn "bản địa"! Cảm ơn. – jldupont

1

Tôi nghĩ điều này phụ thuộc vào tùy chọn bạn đã chuyển cho kịch bản cấu hình khi bạn biên dịch trình biên dịch Erlang. Nó chắc chắn có thể bao gồm nó, nhưng cho dù nó làm theo mặc định hay không là một vấn đề khác.

Các vấn đề liên quan