Engine info
Run benchmark
Runs hardware baselines (memory bandwidth, CPU speed) then all four colour-space directions × three jsColorEngine LUT modes. Results appear as each benchmark completes.
Direct kernel reference
Bypasses the entire bench framework. Calls xform.transformArray(input)
in a raw tight loop — no transform() wrapper, no ctx
property accesses, no batch indirection. If this matches the framework's number,
the framework adds zero overhead. If it's faster, the framework is the source
of the gap vs. the old bench.
Direct kernel: minimal inline loop, no framework abstractions.
Reads what the kernel can do with zero overhead around it.
Self-contained scenario: one function file that owns its own setup,
warmup, hot loop and timing — the “production code shape” pattern.
V8 sees it as one independent compilation unit, so the call site to
xform.transformArray stays monomorphic and inlineable.
If both these match but the registered wasm-simd benchmark above is
slower, the registered framework’s shared call site is the source of the gap.
Hardware baseline
Measured on this machine — used to normalise the “% of peak” column below.
Results
Memory & CPU baselines
| Benchmark | Hot ms | Throughput | Bandwidth | relative |
|---|
Transform benchmarks (jsColorEngine)
LUT build = Transform.create() time. Cold 1st = first untimed call (JIT + cache cold). Hot = median of timed runs. % of peak = relative to WASM memcpy peak on this machine. Bar normalised to fastest within each direction.
| Mode | LUT build | Cold 1st | Hot ms | MPx/s | MB/s | % of peak | relative |
|---|
Thermal validation
Baseline benchmarks re-run after all transforms. Degradation > 10% indicates CPU thermal throttling.
| Benchmark | Degradation | Retest ms |
|---|