erlang hipe

Compilación de Erlang: mezclado de "código de objeto HiPE" y "código de operación"?



(1)

¿Es posible tener una instancia de VM que ejecute tanto el código de HiPE como los objetos basados ​​en el "código de operación" al mismo tiempo?

Esta pregunta está relacionada con: ¿ Erlang OTP publica compilaciones con HiPE?


Sí, así es como se integra el compilador nativo. Solo aquellos módulos que se compilan con la opción nativa + se están ejecutando en código máquina nativo, y el resto es interpretado por el emulador BEAM como de costumbre. Cuando realiza llamadas entre módulos compilados de diferentes maneras, ocurre un "cambio de modo". De esta forma, puedes mezclar módulos nativos y emulados sin problemas. Aún así, debe intentar seleccionar qué módulos compilará de forma nativa para evitar los conmutadores de modo en ciclos estrechos y críticos para el rendimiento, ya que cada vez hay una pequeña sobrecarga.