Image IO excluded (pre-decoded RGBA buffers)
TOTAL TIME · 34 FIXTURES · MEAN OF 50 OR 25 RUNS · IO EXCLUDED
| # | Library | Runtime | Version | Total time | vs Pixelmatch |
|---|---|---|---|---|---|
| 1 | BlazeDiff | core, count only | 2.0.0 | 371ms | 5.23x faster |
| 2 | BlazeDiff (core-wasm) | core-wasm, count only | 7.0.0 | 521ms | 3.73x faster |
| 3 | BlazeDiff | core, with output | 2.0.0 | 1.39s | 1.40x faster |
| 4 | Pixelmatch | JS, count only | 7.2.0 | 1.94s | baseline |
| 5 | Pixelmatch | JS, with output | 7.2.0 | 3.43s | 1.76x slower |
Per-fixture results (34)
| Fixture | Pixelmatch (JS, count only) | BlazeDiff (core, count only) | BlazeDiff (core-wasm) (core-wasm, count only) | Pixelmatch (JS, with output) | BlazeDiff (core, with output) | BlazeDiff (core, count only) vs Pixelmatch (JS, count only) | BlazeDiff (core-wasm) (core-wasm, count only) vs Pixelmatch (JS, count only) | BlazeDiff (core, with output) vs Pixelmatch (JS, count only) |
|---|---|---|---|---|---|---|---|---|
| 4k/1 | 331ms | 46.99ms | 57.49ms | 413ms | 124ms | 7.05x | 5.76x | 2.68x |
| 4k/1 (identical) | 17.91ms | 5.02ms | 5.08ms | 90.52ms | 79.34ms | 3.56x | 3.53x | 0.23x |
| 4k/2 | 321ms | 69.31ms | 98.97ms | 413ms | 149ms | 4.63x | 3.24x | 2.16x |
| 4k/2 (identical) | 21.26ms | 5.72ms | 6.18ms | 101ms | 81.02ms | 3.72x | 3.44x | 0.26x |
| 4k/3 | 406ms | 60.99ms | 81.60ms | 513ms | 162ms | 6.65x | 4.97x | 2.51x |
| 4k/3 (identical) | 25.40ms | 7.71ms | 7.97ms | 122ms | 107ms | 3.29x | 3.19x | 0.24x |
| blazediff/1 | 1.33ms | 0.21ms | 0.42ms | 3.31ms | 1.09ms | 6.32x | 3.20x | 1.22x |
| blazediff/1 (identical) | 0.39ms | 0.10ms | 0.10ms | 2.04ms | 0.99ms | 3.78x | 4.07x | 0.39x |
| blazediff/2 | 1.81ms | 0.60ms | 0.83ms | 3.45ms | 1.10ms | 3.01x | 2.18x | 1.65x |
| blazediff/2 (identical) | 0.33ms | 0.07ms | 0.07ms | 1.67ms | 0.52ms | 4.65x | 4.54x | 0.65x |
| blazediff/3 | 11.76ms | 5.12ms | 7.73ms | 19.27ms | 11.31ms | 2.30x | 1.52x | 1.04x |
| blazediff/3 (identical) | 1.53ms | 0.40ms | 0.41ms | 7.78ms | 6.11ms | 3.84x | 3.73x | 0.25x |
| blazediff/4 | 13.30ms | 2.97ms | 5.25ms | 31.38ms | 5.83ms | 4.49x | 2.53x | 2.28x |
| blazediff/4 (identical) | 3.51ms | 0.94ms | 0.97ms | 18.04ms | 4.03ms | 3.73x | 3.61x | 0.87x |
| page/1 | 167ms | 32.11ms | 74.92ms | 446ms | 174ms | 5.21x | 2.23x | 0.96x |
| page/1 (identical) | 66.47ms | 24.98ms | 25.73ms | 302ms | 173ms | 2.66x | 2.58x | 0.38x |
| page/2 | 492ms | 84.76ms | 120ms | 690ms | 182ms | 5.80x | 4.10x | 2.70x |
| page/2 (identical) | 46.54ms | 17.33ms | 18.13ms | 213ms | 113ms | 2.69x | 2.57x | 0.41x |
| pixelmatch/1 | 0.61ms | 0.17ms | 0.12ms | 1.21ms | 0.38ms | 3.59x | 4.94x | 1.59x |
| pixelmatch/1 (identical) | 0.13ms | 0.01ms | 0.01ms | 0.62ms | 0.22ms | 10.30x | 11.62x | 0.57x |
| pixelmatch/2 | 2.37ms | 1.14ms | 1.96ms | 2.65ms | 1.46ms | 2.07x | 1.21x | 1.62x |
| pixelmatch/2 (identical) | 0.06ms | 0.00ms | 0.01ms | 0.31ms | 0.24ms | 15.55x | 11.09x | 0.27x |
| pixelmatch/3 | 0.41ms | 0.13ms | 0.13ms | 1.03ms | 0.33ms | 3.16x | 3.20x | 1.24x |
| pixelmatch/3 (identical) | 0.12ms | 0.01ms | 0.01ms | 0.62ms | 0.20ms | 10.17x | 11.25x | 0.60x |
| pixelmatch/4 | 4.61ms | 2.37ms | 3.90ms | 5.39ms | 3.08ms | 1.94x | 1.18x | 1.49x |
| pixelmatch/4 (identical) | 0.17ms | 0.01ms | 0.01ms | 0.86ms | 0.67ms | 13.18x | 11.35x | 0.25x |
| pixelmatch/5 | 0.22ms | 0.13ms | 0.06ms | 0.52ms | 0.59ms | 1.72x | 3.54x | 0.37x |
| pixelmatch/5 (identical) | 0.06ms | 0.00ms | 0.01ms | 0.31ms | 0.46ms | 13.71x | 8.78x | 0.14x |
| pixelmatch/6 | 0.88ms | 0.57ms | 0.85ms | 1.16ms | 0.83ms | 1.54x | 1.03x | 1.06x |
| pixelmatch/6 (identical) | 0.06ms | 0.00ms | 0.01ms | 0.31ms | 0.25ms | 13.02x | 10.52x | 0.25x |
| pixelmatch/7 | 1.36ms | 0.60ms | 0.87ms | 2.51ms | 1.25ms | 2.28x | 1.57x | 1.08x |
| pixelmatch/7 (identical) | 0.23ms | 0.03ms | 0.04ms | 1.19ms | 0.66ms | 7.80x | 6.55x | 0.35x |
| same/1 | 1.62ms | 0.43ms | 0.45ms | 8.28ms | 2.34ms | 3.76x | 3.63x | 0.69x |
| same/1 (identical) | 1.62ms | 0.43ms | 0.44ms | 8.27ms | 2.34ms | 3.76x | 3.69x | 0.69x |
| TOTAL | 1.94s | 371ms | 521ms | 3.43s | 1.39s | 5.23x | 3.73x | 1.40x |
pnpm benchmark core · INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.30GHz · linux/x64 · Node v22.14.0 · rustc 1.99.1 (58cf8f9c3 2026-10-13) · 2026-11-11 · 24d85f1-dirty
pnpm benchmark core-wasm · INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.30GHz · linux/x64 · Node v22.14.0 · rustc 1.99.1 (58cf8f9c3 2026-10-13) · 2026-11-11 · 24d85f1-dirty