C se acelera: Nuevo sistema añade JIT a intérpretes

Fuentes: Researchers Retrofit JIT Compilers into C Interpreters

Investigadores han desarrollado un sistema llamado 'yk' que permite transformar intérpretes de código C en máquinas virtuales (VM) con compiladores JIT (Just-In-Time) con una mínima modificación del código existente. Esto abre la posibilidad de mejorar el rendimiento de lenguajes como Lua, Ruby y Python, manteniendo la compatibilidad con sus implementaciones de referencia. Aunque 'yk' se encuentra en una etapa alfa y aún presenta limitaciones (soporte solo para x64, optimizaciones incompletas), los resultados iniciales muestran mejoras de rendimiento, aunque variables (hasta 2x en pruebas). La clave es que la integración es sencilla: se requiere una pequeña cantidad de código adicional (aproximadamente 400 líneas de código y menos de 50 modificaciones). El proyecto no se limita a Lua, y ya se ha adaptado a MicroPython, demostrando su potencial para otros intérpretes de C. El objetivo final es facilitar la adición de compiladores JIT a cualquier intérprete de C, mejorando su rendimiento sin comprometer la compatibilidad. El desarrollo ha sido financiado por Shopify y la Royal Academy of Engineering, y cuenta con el apoyo de varios colaboradores.