InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more β
Binaryen Alternatives
Similar projects and alternatives to binaryen
-
-
InfluxDB
InfluxDB β Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
prql
PRQL is a modern language for transforming data β a simple, powerful, pipelined SQL replacement
-
Oberon
Oberon parser, code model & browser, compiler and IDE with debugger, and an implementation of the Oberon+ programming language
-
-
-
-
-
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
binaryen discussion
binaryen reviews and mentions
-
WASM 2.0
This is indeed unfortunate, but on the other hand, multivalue's benefits are probably very small.
Inside functions, there is perhaps a 1-3% code size opportunity at best (https://github.com/WebAssembly/binaryen?tab=readme-ov-file#b...), and no performance advantage.
Between functions there might be a performance advantage, but as wasm VMs do more things like runtime inlining (which becomes more and more important with wasm GC and the languages that compile to it), that benefit goes away.
-
Hello world from a WASM module in a static binary
wasm-opt
-
Extensible WASM Applications with Go
You can run the Go compiled wasm binary through wasm-opt (https://github.com/WebAssembly/binaryen) and it will decrease the size and give back some of the performance lost by using the standard go compiler over TinyGo. Fair warning it's pretty slow, and fun fact tinygo passes it's wasm files through wasm-opt which is why the tinygo compilation feels especially slow, I believe this can possibly be disabled via flag.
-
A Gentle Introduction to WebAssembly in Rust (2025 Edition)
The reference implementations and the most mature WebAssembly development pipeline called Bynarien is still built around C/C++, mainly because the amount of useful code people want to run in the browser was built with C/C++. The Rust community is building itβs own WebAssembly pipeline, however itβs in a state of Tier 2 without Host Tooling at the beginning of 2025. This means that while it is easily and safely used by developers even for production purposes, it lacks some native tooling. This is where we will rely on the Bynarien toolbox to patch in the holes where the Rust WASM pipeline is lacking.
-
Beating the Compiler
I'm not sure there is a clear separation between applying heuristics and searching a space. Often in compilers you search a subset of a space using heuristics, and you can adjust those to control how much of the space you cover.
For example, here is a pass that reorders WebAssembly globals in Binaryen:
https://github.com/WebAssembly/binaryen/blob/main/src/passes...
We have a simple criteria for the quality of a solution - how big the binary size is with an order - but the space of possible orders is huge (every permutation that keeps every global after its dependencies). What we do is a targeted search of that space using some heuristics using parameters that work well enough and aren't too slow in practice.
-
Bring garbage collected programming languages efficiently to WebAssembly
The Binaryen wasm optimizer (mentioned in the article) is always open for contributions,
https://github.com/WebAssembly/binaryen
-
Random Testing of WebAssembly Implementations Using Semantically Valid Programs
The end of the related work section cites both wasm-smith and the Binaryen fuzzer (https://github.com/WebAssembly/binaryen/wiki/Fuzzing) and says, "They both provide a fuzzer that turns a stream of bytes into a WebAssembly module in order to test implementations. Their fuzzers always generate semantically valid test cases, but lack the targeting and tuning that Xsmith provides."
I look forward to reading more about how they do the targeting and tuning.
-
Web assembly book?
Binaryen or the LLVM of wasm: https://github.com/WebAssembly/binaryen
-
You can reduce web build file size by 4mb by using Binaryen
Download Binaryen
-
What's the best way to generate WASM programmatically?
Probably https://github.com/WebAssembly/binaryen/, there were various rust bindings to it.
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Jun 2025
Stats
WebAssembly/binaryen is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of binaryen is WebAssembly.