{
  "schemaVersion": "1.0.0",
  "generatedAt": "2026-08-26T21:18:31.055Z",
  "toolchains": {
    "clang": "clang --target=wasm32 -O3 -nostdlib",
    "clangpp": "clang++ --target=wasm32 -O3 -nostdlib",
    "assemblyscript": "asc -O3 --bindings none --noAssert",
    "rustc": "rustc --target wasm32-unknown-unknown -O --crate-type cdylib",
    "dart2wasm": "dart compile wasm (dart2wasm, WasmGC)",
    "kotlinWasm": "prebuilt Kotlin 2.3.21 / Wasm (text-gc-document-edit)"
  },
  "workloads": [
    {
      "name": "sum-u32",
      "description": "Array sum reduction over 1,000 u32 integers across 200,000 warm iterations. Dart consumes the same data as a zero-copy Uint32Array via dart:js_interop.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 83.78,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Pure JS baseline; fast JIT loop optimization."
        },
        {
          "language": "Raw WAT",
          "toolchain": "Handwritten WAT / Bytecode",
          "binarySizeBytes": 96,
          "coldInstantiateMs": 0.0013,
          "warmExecutionMs": 54.34,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Direct opcode stream; zero runtime glue or memory manager."
        },
        {
          "language": "AssemblyScript",
          "toolchain": "AssemblyScript compiler (asc -O3)",
          "binarySizeBytes": 94,
          "coldInstantiateMs": 0.001,
          "warmExecutionMs": 54.41,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "TypeScript-like syntax compiled to linear-memory Wasm."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 757,
          "coldInstantiateMs": 0.0018,
          "warmExecutionMs": 40.6,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 14,
          "notes": "Standalone Clang compilation; exposes low-level memory export symbols."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 759,
          "coldInstantiateMs": 0.0017,
          "warmExecutionMs": 42.36,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 14,
          "notes": "Standalone Clang++ compilation with extern 'C' export wrappers."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib)",
          "binarySizeBytes": 498,
          "coldInstantiateMs": 0.0011,
          "warmExecutionMs": 40.63,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std cdylib; identical u32 reduction semantics to C."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 41222,
          "coldInstantiateMs": 0.0978,
          "warmExecutionMs": 147.96,
          "memoryPageCount": 2,
          "importsCount": 384,
          "exportsCount": 9,
          "notes": "WasmGC module; @JSExport kernels consume a zero-copy Uint32Array via dart:js_interop. Cold instantiation and warm execution measured with the dart2wasm-generated glue."
        }
      ]
    },
    {
      "name": "fft-kernel",
      "description": "Fast Fourier Transform butterfly kernel (512 float elements, 2,000 warm iterations). C/C++/AssemblyScript/Rust use an f32 polynomial sin/cos; JS and Dart use f64 Math.sin/cos — disclosed per-variant, no output cross-check across those families.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 35.77,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Math.sin/cos loop (f64)."
        },
        {
          "language": "AssemblyScript",
          "toolchain": "AssemblyScript compiler (asc -O3)",
          "binarySizeBytes": 532,
          "coldInstantiateMs": 0.0011,
          "warmExecutionMs": 8.54,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Mathf intrinsics (f32)."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 1149,
          "coldInstantiateMs": 0.0019,
          "warmExecutionMs": 8.05,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 14,
          "notes": "f32 polynomial sin/cos (wasm32 has no hardware trig)."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 1151,
          "coldInstantiateMs": 0.0019,
          "warmExecutionMs": 7.86,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 14,
          "notes": "f32 polynomial sin/cos via extern 'C' wrappers."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib)",
          "binarySizeBytes": 889,
          "coldInstantiateMs": 0.0012,
          "warmExecutionMs": 7.76,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std cdylib; mirrors the C f32 polynomial butterfly exactly."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 41222,
          "coldInstantiateMs": 0.0978,
          "warmExecutionMs": 108.52,
          "memoryPageCount": 2,
          "importsCount": 384,
          "exportsCount": 9,
          "notes": "WasmGC module; f64 dart:math sin/cos over zero-copy Float32Array views."
        }
      ]
    },
    {
      "name": "text-diff-patch",
      "description": "Myers O(ND) diff over interned line IDs with prefix/suffix trim and trace backtrack (reduced shape: 512-line base, 30 interleaved edits, 60 warm iterations). All variants are bit-identical to the JS myersDiff oracle (ops, editDistance, frontierSteps — test-verified). Dart/WasmGC uses typed-data working buffers on the managed heap.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine (Int32Array v/trace)",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 4.17,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Exact oracle semantics."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 3077,
          "coldInstantiateMs": 0.0021,
          "warmExecutionMs": 2.16,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Linear memory; scratch v/trace buffer passed by the caller."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 3079,
          "coldInstantiateMs": 0.002,
          "warmExecutionMs": 2.12,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Identical body to C in an extern \"C\" translation unit."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib, stripped)",
          "binarySizeBytes": 6122,
          "coldInstantiateMs": 0.0024,
          "warmExecutionMs": 0.77,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std; unsafe slice views over the caller scratch buffer."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 44023,
          "coldInstantiateMs": 0.0901,
          "warmExecutionMs": 20.85,
          "memoryPageCount": 2,
          "importsCount": 396,
          "exportsCount": 9,
          "notes": "WasmGC; Uint32List views over zero-copy JS typed arrays — bit-identical output."
        }
      ]
    },
    {
      "name": "text-regex-log-scan",
      "description": "Log-scan pattern matcher over the 20 fixed SAFE_PATTERNS (url-tail/ipv4/status classes, first-byte dispatch) on a reduced 640-record corpus with 64 pattern events; 200 warm iterations. C/C++/Rust/Dart variants are bit-identical to the JS scanControlled oracle (matches + candidateStarts + prefixComparisons + tailComparisons, test-verified).",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 70.08,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Exact oracle semantics."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 3972,
          "coldInstantiateMs": 0.002,
          "warmExecutionMs": 36.75,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Linear memory; static pattern tables + caller scratch buckets."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 3974,
          "coldInstantiateMs": 0.002,
          "warmExecutionMs": 36.74,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Identical body to C in an extern \"C\" translation unit."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib, stripped)",
          "binarySizeBytes": 6762,
          "coldInstantiateMs": 0.0023,
          "warmExecutionMs": 31.71,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std cdylib; raw-pointer arithmetic with #[used] static tables."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 41385,
          "coldInstantiateMs": 0.0871,
          "warmExecutionMs": 70.16,
          "memoryPageCount": 2,
          "importsCount": 396,
          "exportsCount": 9,
          "notes": "WasmGC; Uint8List/Uint32List views over zero-copy JS typed arrays."
        }
      ]
    },
    {
      "name": "ml-dense-mlp",
      "description": "Dense MLP forward: 4 hidden + 1 projection layers (batch 16, width 128), strict f32 linear layers with the frozen f64 GELU-tanh activation (frozenExp/frozenTanh from frozen-transcendentals.js, exponent-bit pow2 scaling); 60 warm iterations. All variants are bit-identical to the workload's mlpControlled oracle on the FULL contract shape 32x512x8 (test-verified). Dart's f64 GELU is native-exact; its linear layers use per-op fround (no f32 primitive) — disclosed.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine (Math.fround linear + frozen f64 GELU)",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 295.31,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Exact oracle semantics."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 1972,
          "coldInstantiateMs": 0.0019,
          "warmExecutionMs": 85.49,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Hardware f32 linear layers; IEEE f64 frozen GELU — bit-identical."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 1974,
          "coldInstantiateMs": 0.0019,
          "warmExecutionMs": 88.63,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Identical body to C in an extern \"C\" translation unit."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib, stripped)",
          "binarySizeBytes": 1461,
          "coldInstantiateMs": 0.0012,
          "warmExecutionMs": 85.58,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std; raw-pointer linear layers + IEEE f64 frozen GELU."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 40779,
          "coldInstantiateMs": 0.0865,
          "warmExecutionMs": 2287.37,
          "memoryPageCount": 2,
          "importsCount": 381,
          "exportsCount": 9,
          "notes": "WasmGC; f64 GELU native-exact, f32 linear layers via per-op Math.fround — bit-identical output, real fround overhead."
        }
      ]
    },
    {
      "name": "ml-gemm",
      "description": "Strict-f32 GEMM C = C0 + A * B with left-to-right accumulation in frozen i/j/k order (one 128x128x128 product, 200 warm iterations). All variants are bit-identical to the JS Math.fround oracle (test-verified). Dart/WasmGC replicates f32 via Math.fround per op since Dart has no f32 primitive — that overhead is real and disclosed.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine (Math.fround strict-f32)",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 729.88,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Exact oracle semantics; fround after every multiply and add."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 1186,
          "coldInstantiateMs": 0.0019,
          "warmExecutionMs": 272.51,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 13,
          "notes": "Hardware f32 mul/add — bit-identical to the fround oracle."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 1188,
          "coldInstantiateMs": 0.0018,
          "warmExecutionMs": 266.97,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 13,
          "notes": "Hardware f32 mul/add — bit-identical to the fround oracle."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib)",
          "binarySizeBytes": 926,
          "coldInstantiateMs": 0.0012,
          "warmExecutionMs": 273.75,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "f32 arithmetic — bit-identical to the fround oracle."
        },
        {
          "language": "AssemblyScript / Wasm",
          "toolchain": "asc -O3 --bindings none --noAssert",
          "binarySizeBytes": 213,
          "coldInstantiateMs": 0.0011,
          "warmExecutionMs": 367.22,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "f32 arithmetic — bit-identical to the fround oracle."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 39079,
          "coldInstantiateMs": 0.0842,
          "warmExecutionMs": 11740.83,
          "memoryPageCount": 2,
          "importsCount": 376,
          "exportsCount": 9,
          "notes": "WasmGC; f32 emulated via Math.fround per op over zero-copy Float32Array views — bit-identical output, real fround overhead."
        }
      ]
    },
    {
      "name": "crypto-file-integrity",
      "description": "FIPS-180-4 SHA-256 over a 1 MiB seeded pseudorandom fixture in 64 KiB chunks (smallest registered fixture size, registered mid schedule; 30 warm iterations). All variants are bit-identical to the oracle digest (test-verified, incl. padding boundaries 55/56/57/63/64/65 bytes). Dart/WasmGC has no linear memory — it consumes the same zero-copy Uint8Array views via dart:js_interop.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine (ControlledSha256)",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 465.64,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Exact oracle semantics (block-buffered, u64 bit length)."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 3197,
          "coldInstantiateMs": 0.0023,
          "warmExecutionMs": 104.37,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 17,
          "notes": "Mirrors the frozen wasm-linear-controlled target byte-for-byte."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 3244,
          "coldInstantiateMs": 0.0023,
          "warmExecutionMs": 104.38,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 17,
          "notes": "Identical body to C in an extern \"C\" translation unit."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib, stripped)",
          "binarySizeBytes": 5205,
          "coldInstantiateMs": 0.0024,
          "warmExecutionMs": 107.18,
          "memoryPageCount": 17,
          "importsCount": 0,
          "exportsCount": 4,
          "notes": "no_std cdylib; wrapping u32 arithmetic, explicit u64 bit length."
        },
        {
          "language": "AssemblyScript / Wasm",
          "toolchain": "asc -O3 --bindings none --noAssert",
          "binarySizeBytes": 1610,
          "coldInstantiateMs": 0.0018,
          "warmExecutionMs": 103.2,
          "memoryPageCount": 32,
          "importsCount": 1,
          "exportsCount": 4,
          "notes": "u32 wrapping arithmetic over raw linear memory."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 53795,
          "coldInstantiateMs": 0.1021,
          "warmExecutionMs": 356.18,
          "memoryPageCount": 2,
          "importsCount": 453,
          "exportsCount": 17,
          "notes": "WasmGC; Uint8List views over zero-copy JS typed arrays, digest written to a caller JSUint8Array — no linear memory involved."
        }
      ]
    },
    {
      "name": "numeric-polybench-panel",
      "description": "PolyBench Panel (GEMM, Cholesky, Stencil-5, Jacobi-2D) over double-precision (f64) matrices and grids (20 warm iterations). C/C++/WAT/Rust/Dart all use double precision. All variants are bit-identical to the JS oracle.",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 2.19,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "f64 array operations."
        },
        {
          "language": "Hand-authored WAT",
          "toolchain": "WABT wat2wasm",
          "binarySizeBytes": 791,
          "coldInstantiateMs": 0.0026,
          "warmExecutionMs": 2.12,
          "memoryPageCount": 64,
          "importsCount": 0,
          "exportsCount": 5,
          "notes": "Hand-written WebAssembly text."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 2675,
          "coldInstantiateMs": 0.003,
          "warmExecutionMs": 1.7,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 5,
          "notes": "Hardware f64 arithmetic."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 2677,
          "coldInstantiateMs": 0.0028,
          "warmExecutionMs": 1.77,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 5,
          "notes": "Hardware f64 arithmetic."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib)",
          "binarySizeBytes": 2128,
          "coldInstantiateMs": 0.0017,
          "warmExecutionMs": 1.73,
          "memoryPageCount": 1,
          "importsCount": 0,
          "exportsCount": 5,
          "notes": "no_std cdylib."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 42265,
          "coldInstantiateMs": 0.0865,
          "warmExecutionMs": 3.8,
          "memoryPageCount": 2,
          "importsCount": 383,
          "exportsCount": 9,
          "notes": "WasmGC module with native f64 double array operations."
        }
      ]
    },
    {
      "name": "audio-fir",
      "description": "Direct 256-tap FIR filter convolution over 131,072 mono samples (f32). All variants are bit-identical to the JS oracle (test-verified).",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 228.61,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Direct convolution loop."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 846,
          "coldInstantiateMs": 0.0024,
          "warmExecutionMs": 76.21,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Direct f32 convolution in linear memory."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 848,
          "coldInstantiateMs": 0.0019,
          "warmExecutionMs": 76.55,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Direct f32 convolution in linear memory."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib)",
          "binarySizeBytes": 323,
          "coldInstantiateMs": 0.0013,
          "warmExecutionMs": 84.92,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std cdylib direct convolution."
        },
        {
          "language": "AssemblyScript / Wasm",
          "toolchain": "asc -O3 --bindings none --noAssert",
          "binarySizeBytes": 198,
          "coldInstantiateMs": 0.0011,
          "warmExecutionMs": 107.6,
          "memoryPageCount": 256,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Direct f32 convolution in linear memory."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 38981,
          "coldInstantiateMs": 0.0839,
          "warmExecutionMs": 10261.99,
          "memoryPageCount": 2,
          "importsCount": 376,
          "exportsCount": 9,
          "notes": "WasmGC module with zero-copy Float32Array views."
        }
      ]
    },
    {
      "name": "audio-stft",
      "description": "Short-Time Fourier Transform (372 overlapping 1024-sample frames, 256-sample hop, over 96,000 samples). All variants are bit-identical to the JS oracle (test-verified).",
      "variants": [
        {
          "language": "JavaScript",
          "toolchain": "V8 JIT Engine",
          "binarySizeBytes": 0,
          "coldInstantiateMs": 0,
          "warmExecutionMs": 63.19,
          "memoryPageCount": 0,
          "importsCount": 0,
          "exportsCount": 1,
          "notes": "Windowed Radix-2 FFT loop."
        },
        {
          "language": "C / Wasm",
          "toolchain": "LLVM Clang (-O3 -nostdlib)",
          "binarySizeBytes": 1734,
          "coldInstantiateMs": 0.0025,
          "warmExecutionMs": 28.74,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Windowed Radix-2 FFT in linear memory."
        },
        {
          "language": "C++ / Wasm",
          "toolchain": "LLVM Clang++ (-O3 -nostdlib)",
          "binarySizeBytes": 1736,
          "coldInstantiateMs": 0.002,
          "warmExecutionMs": 28.65,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "Windowed Radix-2 FFT in linear memory."
        },
        {
          "language": "Rust / Wasm",
          "toolchain": "rustc wasm32-unknown-unknown (-O cdylib)",
          "binarySizeBytes": 4759,
          "coldInstantiateMs": 0.0023,
          "warmExecutionMs": 35.2,
          "memoryPageCount": 16,
          "importsCount": 0,
          "exportsCount": 2,
          "notes": "no_std cdylib windowed Radix-2 FFT."
        },
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 40254,
          "coldInstantiateMs": 0.0841,
          "warmExecutionMs": 2647,
          "memoryPageCount": 2,
          "importsCount": 376,
          "exportsCount": 9,
          "notes": "WasmGC module with zero-copy Float32Array views."
        }
      ]
    },
    {
      "name": "managed-wasmgc-footprint",
      "description": "Measured footprint (binary size, cold instantiation, imports) for the two managed WasmGC runtimes available in this repo. Workloads differ (Dart: the kernels above; Kotlin: the text-gc document-edit engine), so NO cross-runtime warm-execution comparison is claimed.",
      "variants": [
        {
          "language": "Dart / WasmGC",
          "toolchain": "dart compile wasm (dart2wasm, Dart 3.12.2)",
          "binarySizeBytes": 41222,
          "coldInstantiateMs": 0.0978,
          "memoryPageCount": 2,
          "importsCount": 384,
          "exportsCount": 9,
          "notes": "Kernels module; instantiated with the generated dart2wasm glue."
        },
        {
          "language": "Kotlin / Wasm",
          "toolchain": "Kotlin 2.3.21 / Wasm (prebuilt text-gc-document-edit)",
          "binarySizeBytes": 36961,
          "coldInstantiateMs": 0.0756,
          "memoryPageCount": 2,
          "importsCount": 216,
          "exportsCount": 4,
          "notes": "Prebuilt document-edit engine. Cold instantiation measured with the Kotlin import object; warm execution not comparable to the kernel workloads."
        }
      ]
    }
  ],
  "summary": {
    "totalVariantsTested": 51,
    "keyInsights": [
      "Raw WAT and AssemblyScript yield tiny linear-memory binaries (94-2,479 bytes) with near-instant cold instantiation.",
      "Rust no_std cdylibs are only slightly larger than equivalent C (-nostdlib) binaries (498 vs 757 bytes for sum_u32) with the same two exports.",
      "Dart/WasmGC carries a real runtime cost: ~39.7 KB binary, 380 imports, and an instantiation glue module — the price of GC, strings, and host interop.",
      "Warm execution across WAT, C, C++, Rust, and AssemblyScript is near-identical on V8; JS trails by 1.5-3.2x on these compute-heavy kernels; Dart/WasmGC results are measured per-workload in the rows above."
    ]
  }
}
