hay dos reglas del pulgar áspera sobre la base de Erlang FAQ:
código que implica principalmente cálculo de números y procesamiento de datos se ejecutará alrededor de 10 veces más lento que un programa de C equivalente. Esto incluye casi todos los "micro benchmarks".
Los grandes sistemas que pasan la mayor parte de su tiempo comunicándose con otros sistemas, recuperándose de fallas y tomando decisiones complejas ejecutan al menos tan rápido como los programas C equivalentes.
Sin embargo, hay algunas soluciones oficiales a la falta de procesamiento de números realización de Erlang:
La implementación de una función en C y cargar su código objeto en la máquina virtual Erlang para que sea como una función estándar de Erlang pero con rendimiento nativo.
Ejemplos: Evedis, Bitcask, ElevelDB
Una interfaz orientada a byte-desde la máquina virtual Erlang a los procesos del sistema operativo externos a través de descriptores de archivos de entrada y de salida estándar. La comunicación con este puerto es a través del mensaje que pasa desde el punto de vista de Erlang.
Un archivo de objeto C enlazada dinámicamente que se carga en la máquina virtual de Erlang y actúa como un puerto. La comunicación con este controlador de puerto es a través del mensaje que pasa desde el punto de vista de Erlang.
Ejemplos: OTP_Inet, ENanomsg, P1_TLS
simplemente puede promover su ejecución Erlang a un nodo distribuido. De esta forma, existe una especificación para implementar un tiempo de ejecución de Erlang en C y comunicarse con los nodos de Erlang con una sola interfaz.
Todas las soluciones antes mencionadas tienen sus propios pros y sus contras y deben usarse con extremo cuidado.
digna edición de la pregunta: P – Drew
@Drew Mucho más organizado y conciso estos días. Obtener un título de ingeniería astronómica ayuda. – BAR