El toolkit de parsing Ohm, utilizado para analizar formatos de archivo personalizados y construir parsers, intérpretes y compiladores, ha anunciado una actualización significativa (v18) que aumenta la velocidad de parsing hasta 50 veces en comparación con versiones anteriores. Esta mejora sustancial se logra a través de una reescritura completa del motor de parsing, ahora compilado a WebAssembly (Wasm). La nueva arquitectura convierte la gramática de Ohm en un módulo Wasm, optimizando el proceso de análisis. Además de la velocidad, la versión v18 reduce el uso de memoria en aproximadamente un 10%. La implementación utiliza AssemblyScript para el soporte de tiempo de ejecución y un bump allocator en la memoria lineal de Wasm para la gestión de nodos de árboles de sintaxis concreta (CST), reduciendo la sobrecarga de memoria. El enfoque se centra en la optimización de los nodos terminales, que son los más frecuentes en los árboles de análisis, utilizando valores etiquetados de 32 bits para almacenar la información necesaria. Esta actualización representa un avance importante en la eficiencia y el rendimiento de las herramientas de análisis de código.
