HiPEコードと通常の「オペコード」ベースのオブジェクトの両方を同時に実行するVMインスタンスを持つことは可能ですか?
この質問は関連しています:Erlang OTPリリースはHiPEでコンパイルされますか?
HiPEコードと通常の「オペコード」ベースのオブジェクトの両方を同時に実行するVMインスタンスを持つことは可能ですか?
この質問は関連しています:Erlang OTPリリースはHiPEでコンパイルされますか?
はい、それがネイティブコンパイラの統合方法です。+ nativeオプションでコンパイルされたモジュールのみがネイティブマシンコードで実行され、残りは通常どおりBEAMエミュレーターによって解釈されます。異なる方法でコンパイルされたモジュール間で呼び出しを行うと、「モード切り替え」が発生します。このようにして、ネイティブモジュールとエミュレートされたモジュールをシームレスに混在させることができます。それでも、毎回小さなオーバーヘッドがあるため、タイトでパフォーマンスが重要なループでのモード切り替えを回避するために、ネイティブコンパイルするモジュールを選択するようにしてください。