Shulkr WASM Bench
Four implementations of the same two-pass voxel mesher: JavaScript (baseline), Rust → WASM (wasm-bindgen), C++ → WASM (emcc) and AssemblyScript → WASM. Same algorithm, same output buffers. Pick a size, a block pattern and a variant to get the build time and a 3D preview of the resulting mesh.
How the benchmark works
- Every variant gets the same
Uint16Arrayof blocks plus aUint8Arrayof palette flags. - Algorithm: two-pass face culling. The first pass counts the visible faces, the second fills the
positions/normals/colors/indicesbuffers. - Each variant gets a warm-up run before the measurement, so the first run does not pay the JIT cost.
- The checksum shows whether all variants return an identical mesh (the column with the ✓).
- The fastest variant for the current configuration is highlighted in green.