Wasm vs JavaScript benchmark Browse Catalog Experiment Evidence data v1

Reduced out-of-catalog fixture · image.editing-pipeline.v1

Image Gaussian Blur Pipeline

Applies separable 2D Gaussian convolution filters across image pixel arrays (40 × 30 grid), comparing JavaScript vs WebAssembly.

Fixed work: 40 × 30 pixel buffer convolution with separable Gaussian kernel. Both engines calculate exact output pixel byte arrays and verify alpha-channel preservation. Reduced fixture for image.editing-pipeline.v1 with no timing evidence or comparative performance claim.

Run Benchmark Loop

Each run executes in a fresh module worker.

Ready. Click Start to run benchmark suite.

What it does

Applies horizontal and vertical Gaussian convolution passes over 40 × 30 32-bit RGBA pixel arrays.

Why compare Wasm vs JS

2D array indexing, SIMD vectorization potential, and typed array memory access measure image processing throughput.

Source & build provenance

The controls, fixed scope, source routes, and limitations are in this raw HTML response.

Limitations & scope

  • Fixed 40 × 30 image grid with verified SHA-256 reference output.
  • Runs in a Web Worker module with 120-second hard timeout.

Multi-Language Comparison

The same image kernels written in JavaScript, C, C++, Rust, AssemblyScript, and Dart (WasmGC) — compiled to WebAssembly where applicable — compared side by side on this machine: the separable luma Gaussian blur pipeline and the span-stack flood fill on the pinned 40 × 30 / 64 × 48 fixtures. Sources: multi-language kernel sources.

Ready. Select loop iterations, then click Start.