Acelerando el FFI de CRuby con Compilación JIT
Este artículo explora el uso de la compilación Just-In-Time (JIT) para mejorar el rendimiento de la Interfaz de Función Externa (FFI) de Ruby. Las pruebas de rendimiento muestran las desventajas de rendimiento de FFI en comparación con las extensiones nativas. El autor presenta FJIT, una solución que utiliza RJIT y generación de código de máquina personalizado para generar código de máquina en tiempo de ejecución para llamar a funciones externas, evitando la sobrecarga de FFI. FJIT supera a las extensiones nativas en las pruebas, ofreciendo una alternativa de alto rendimiento para los desarrolladores de Ruby. Actualmente un prototipo que solo admite ARM64, se espera que FJIT se expanda en el futuro a otras arquitecturas y llamadas de funciones más complejas.