Files
fcambus 49f0d3bdf5 Import lang/binaryen.
Binaryen is a compiler and toolchain infrastructure library for WebAssembly,
written in C++. It aims to make compiling to WebAssembly easy, fast, and
effective.

* Easy: Binaryen has a simple C API in a single header, and can also be used
  from JavaScript. It accepts input in WebAssembly-like form but also accepts
  a general control flow graph for compilers that prefer that.

* Fast: Binaryen's internal IR uses compact data structures and is designed
  for completely parallel codegen and optimization, using all available CPU
  cores. Binaryen's IR also compiles down to WebAssembly extremely easily and
  quickly because it is essentially a subset of WebAssembly.

* Effective: Binaryen's optimizer has many passes that can improve code
  size and speed. These optimizations aim to make Binaryen powerful enough
  to be used as a compiler backend by itself. One specific area of focus
  is on WebAssembly-specific optimizations (that general-purpose compilers
  might not do), which you can think of as wasm minification, similar to
  minification for JavaScript, CSS, etc., all of which are language-specific.

OK op@
2022-05-16 08:36:26 +00:00

20 lines
1.1 KiB
Plaintext

Binaryen is a compiler and toolchain infrastructure library for WebAssembly,
written in C++. It aims to make compiling to WebAssembly easy, fast, and
effective.
* Easy: Binaryen has a simple C API in a single header, and can also be used
from JavaScript. It accepts input in WebAssembly-like form but also accepts
a general control flow graph for compilers that prefer that.
* Fast: Binaryen's internal IR uses compact data structures and is designed
for completely parallel codegen and optimization, using all available CPU
cores. Binaryen's IR also compiles down to WebAssembly extremely easily and
quickly because it is essentially a subset of WebAssembly.
* Effective: Binaryen's optimizer has many passes that can improve code
size and speed. These optimizations aim to make Binaryen powerful enough
to be used as a compiler backend by itself. One specific area of focus
is on WebAssembly-specific optimizations (that general-purpose compilers
might not do), which you can think of as wasm minification, similar to
minification for JavaScript, CSS, etc., all of which are language-specific.