[17/11/2020] Los usuarios de Firefox pueden esperar un mejor rendimiento de JavaScript en el navegador Firefox 83, con la actualización Warp del motor de JavaScript SpiderMonkey activada de forma predeterminada.
También llamado WarpBuilder, Warp mejora la respuesta y el uso de la memoria, y acelera la carga de la página al hacer cambios en los compiladores JiT (just in time). La optimización de JiT se cambia para depender únicamente del formato de código de bytes lineal simple de CacheIR, específicamente, los datos de CacheIR recogidos por los niveles de la línea de base. La nueva arquitectura apalancada en el navegador también se describe como más mantenible y que desbloquea mejoras adicionales de SpiderMonkey.
Firefox 83 se publicó en versión beta el 20 de octubre y está previsto que se publique hoy. Warp ha demostrado ser más rápido que Ion, la anterior optimización de SpiderMonkey JiT, incluyendo una mejora del 20% en el tiempo de carga de Google Docs. Otros sitios web con uso intensivo de JavaScripts como Netflix y Reddit también han mostrado mejoras.
Basar Warp en CacheIR permitió la eliminación de código en todo el motor que se necesitaba para rastrear los datos de inferencia de tipo global usados por IonBuilder, lo que resultó en aceleraciones. Aunque IonBuilder y WarpBuilder producen ambos Ion MIR, una representación intermedia usada por el back end JiT optimizador, IonBuilder tenía mucho código complejo que no se necesitaba en WarpBuilder. Warp también puede hacer más trabajo fuera del hilo y necesita menos recompilaciones. Los planes requieren de continuas optimizaciones en Warp, que actualmente es más lento que Ion en algunos benchmarks sintéticos.
Warp ha reemplazado la parte delantera -la fase de construcción MIR- del IonMonkey JiT. Los planes piden que se elimine el código y la arquitectura antiguos, lo que es probable que ocurra en Firefox 85. Se prevén mejoras adicionales en el rendimiento y el uso de la memoria como resultado. Mozilla también continuará optimizando de forma incremental la parte trasera de IonMonkey JiT, ya que Mozilla cree que todavía hay espacio para mejorar las cargas de trabajo intensivas en JavaScript. También se está desarrollando una herramienta para que los desarrolladores web y Mozilla exploren los datos de CacheIR para una función de JavaScript.
Basado en el artículo de Paul Krill (InfoWorld) y editado por CIO Perú