

Announcing Wasmer 6.0 - closer to Native speeds!
Wasmer 6.0 packages all backends together, pushes the LLVM backend to within 5 % of native performance, introduces zero‑cost WebAssembly Exceptions and more!

Syrus Akbary
Founder & CEO

Today we are extremely excited to announce Wasmer 6.0.
Since launching Wasmer 5.0 we added support for V8, Wasmi, WAMR and other back‑ends—but you could only compile a single backend into each binary. Shipping multiple binaries was painful for both library authors and Edge deployments.
Wasmer 6.0 removes that limitation and delivers a 30-50 % speedup.
What has changed since Wasmer 5.0?
- Improved LLVM backend to run WebAssembly at near-native speeds
- We added support for zero-cost WebAssembly Exceptions (in LLVM, V8 and JS backends), speeding up PHP by 3-4x (blogpost coming soon!) - check our most recent presentation in Wasm I/O 2025 (video!
- We have added support for switching backends at runtime (
wasmer run … --v8
,wasmer run ... --jsc
, …) - Improved WASIX
- Multiple Bugfixes and improvements
Install the latest version of Wasmer with:
curl https://get.wasmer.io -sSfL | sh
Improved LLVM backend to run Wasm at near-native speeds
At Wasmer we have been obsessed about speed since our inception.
We revamped the LLVM code‑generator to eliminate redundant passes and tighten register allocation based on a new experimental pass.
Here are some benchmarks:
- Coremark: native (100 % speed), Wasmer 5 (90%), Wasmer 6 (95 %)
- WordPress (cold-start times): native PHP (100 %), Wasmer 5 (54 %), Wasmer 6 (80 %)
- PHPBench: native PHP (100 %), Wasmer 5 (37 %), Wasmer 6 (69 %)
Based on this, we made the decision to replace Cranelift with LLVM for production workloads in Wasmer Edge, bringing a much faster experience for our customers.
Supporting WebAssembly Exceptions (with LLVM and V8)
This release finally brings long-awaited support for the WASM exceptions proposal, unlocking performance improvements and better support for languages that rely on exceptions.
Until today, we relied on asyncify
to run setjmp
/ longjmp
(among others). While asyncify is great, it adds an overhead of 20-50% slower code execution.
We refactored WASIX to implement setjmp
/ longjmp
via WebAssembly exceptions. This, paired with a new proc_spawn
syscall, brings the speed of running complex PHP apps from 100ms in Cranelift (without exceptions, with asyncify) to 25ms in LLVM (with Exceptions).
We have also opened a few PRs to contribute our changes to the Wasm-C-API upstream (adding support for Wasm Exceptions).
Supporting multiple backends at runtime
Most of the internals of the Wasmer API have been refactored. The good news is that the API that you are used to remains the same, with some minor exceptions:
- Some System traits and types moved from
wasmer::
towasmer::sys::
- Wasm-C-API support has been revamped, allowing using the backends dynamically
Improving WASIX
We improved a lot of the WASIX internals:
- Sub‑processes & pipes — fully isolated yet fast IPC.
- Filesystem — smarter inode caching and COW reduce RAM in multi‑tenant edge environments.
- posix_spawn — to avoid using the heavy
fork
under the hood (and lighten the asyncify requirement)
Multiple Bugfixes and improvements
The Wasmer CLI experience was improved on multiple fronts. Right now you can create packages with a .wasmerignore
file, that will indicate which files to ignore (similar to .dockerignore
).
We also revamped the wasmer create-exe
and wasmer compile
flows, making them way more robust.
We also updated the license of some libraries (Singlepass), to allow a sustainable future for them: you can read more about it here.
Ready to go near‑native? Install Wasmer with one command and unleash the full power of WebAssembly:
curl https://get.wasmer.io -sSfL | sh
Or use it using Cargo:
wasmer = { version="6.0.0", features=[ "v8", "cranelift" ] }
Getting Started with Wasmer 6.0
Ready to dive in? Here's how you can start exploring the new features:
- Download Wasmer 6.0: Get the latest version from our official website.
- Update Your Projects: Upgrade your existing Wasmer projects to leverage the new capabilities.
- Explore the Documentation: Visit our updated docs for detailed guides and tutorials.
- Join the Community: Connect with other developers on our Discord server and share your experiences.
Looking Ahead
Wasmer 6.0 is a significant step forward in our mission to empower developers thanks to the exciting possibilities that WebAssembly brings to the table. We can't wait to see what you'll build next with Wasmer.
Stay Updated
- Website: wasmer.io
- GitHub: github.com/wasmerio/wasmer
- Twitter: @wasmerio
- Discord: Join our community
Thank you everyone for being part of the Wasmer journey!
About the Author
Syrus Akbary is an enterpreneur and programmer. Specifically known for his contributions to the field of WebAssembly. He is the Founder and CEO of Wasmer, an innovative company that focuses on creating developer tools and infrastructure for running Wasm

Syrus Akbary
Founder & CEO
Improved LLVM backend to run Wasm at near-native speeds
Supporting WebAssembly Exceptions (with LLVM and V8)
Supporting multiple backends at runtime
Improving WASIX
Multiple Bugfixes and improvements
Getting Started with Wasmer 6.0
Looking Ahead
Deploy your PHP app on Wasmer
Deploy your PHP site in seconds with our managed cloud solution.
Read more
