Wasmi 2.0 es la nueva versión de este intérprete de WebAssembly (Wasm) eficiente y rico en funcionalidades, pensada para dispositivos IoT, sistemas de plugins, hosts en la nube, contratos inteligentes y consolas de juegos ligeras. Tras ocho meses de trabajo, la release llega patrocinada por la Stellar Development Foundation desde octubre de 2024 y trae como eje central un salto de rendimiento: corre unas 2,2 veces más rápido que Wasmi 1.0 en media geométrica sobre la suite wasmi-benchmarks en un Apple M2 Pro, situándose entre los intérpretes de Wasm portables más rápidos.
Además de la velocidad, Wasmi 2.0 incorpora novedades útiles para desarrolladores: la crate feature validate reduce significativamente el tamaño del binario; el fuel metering pasa a ser estable; se añade soporte para el perfil determinista de WebAssembly; y se mejora la herramienta CLI. También estrena cuatro modos de despacho de instrucciones —Direct-Threaded Code, Indirect-Threaded Code, Switch-Loop y Call-Loop—, con la nueva feature auto-dispatch que elige automáticamente la mejor configuración cuando es posible. La arquitectura interna se apoya en una firma unificada para los instruction handlers, con registros acumuladores para enteros y valores en coma flotante, lo que simplifica y acelera la ejecución.
En las pruebas realizadas en Apple M2 Pro, AMD EPYC 7763 e Intel Xeon Platinum 8370C, Wasmi 2.0 iguala o supera a Wasmtime, Wasmer, Wasm3 y otros runtimes Wasm portables tanto en benchmarks de ejecución como de arranque. Los usuarios pueden priorizar rendimiento (Direct-Threaded Code), equilibrio entre velocidad y memoria (Indirect-Threaded Code) o portabilidad (Switch-Loop) según la plataforma.
