Skip to content
Tech News
← Back to articles

Engineering of the fastest WebAssembly interpreters

read original more articles
Why This Matters

The release of Wasmi 2.0 marks a significant advancement in WebAssembly interpreter performance, achieving over twice the speed of its predecessor and incorporating user-requested features that enhance efficiency and usability. This progress is crucial for the tech industry, especially for applications in IoT, cloud hosting, and smart contracts, where performance and size optimization are vital. By benchmarking against other top interpreters, Wasmi 2.0 demonstrates its competitive edge, promising broader adoption and innovation in WebAssembly-based solutions.

Key Takeaways

The optimizations behind Wasmi 2.0, and how they compare to Wasm3 and Stitch.

In my last post about Wasmi 1.0 I promised a fundamental engine overhaul for the future Wasmi version. The future is now!

Wasmi is an efficient and feature-rich WebAssembly (Wasm) interpreter. It is an excellent choice for IoT devices, plugin systems (Typst, Zellij, Josh), cloud hosts, smart contracts (Soroban, Ripple) and even for your lightweight game consoles (Firefly Zero).

Before going into all the details, a huge thank you to the Stellar Development Foundation (SDF) that has been sponsoring the Wasmi project since October 2024. Without their sponsorship, the Wasmi project wouldn’t be where it is today. Also special thanks to Felix Kutzner for proofreading the article and suggesting many improvements.

Wasmi 2.0 Release#

Today, I am happy to announce that after eight months of focused work, Wasmi 2.0 is finally done and ready to use.

This release focuses on execution performance: Wasmi 2.0 runs ~2.2x faster than Wasmi 1.0 in geometric mean across the wasmi-benchmarks suite on an Apple M2 Pro.

Wasmi 2.0 also ships new knobs, such as the validate crate feature, that significantly reduce its binary artifact size. Some user-requested features, such as stable fuel metering , support for WebAssembly’s deterministic profile and an improved Wasmi CLI tool, also made it into this release.

You can always make me happy with a star at GitHub!

Where Wasmi 2.0 Landed#

... continue reading