Skip to Content
New: blazediff-png - a from-scratch Rust PNG codec, byte-exact to libspng and faster on every fixture. Read more β†’
BenchmarksStructural

Structural Similarity Benchmarks

Per-window image quality comparisons (SSIM family). Image decode is excluded.

Structural summary

Fast Original ( @blazediff/ssim using ssim vs ssim.js using fast algorithm) (image IO excluded)

25 iterations (3 warmup)

~25% performance improvement on average.

Benchmarkssim.jsBlazeDiffTime Saved% Improvement
blazediff/186.51ms64.26ms22.25ms25.7%
blazediff/1 (identical)86.16ms64.35ms21.81ms25.3%
blazediff/234.69ms22.91ms11.78ms34.0%
blazediff/2 (identical)34.76ms22.64ms12.12ms34.9%
blazediff/399.29ms93.73ms5.55ms5.6%
blazediff/3 (identical)99.03ms93.47ms5.56ms5.6%
pixelmatch/125.35ms19.43ms5.92ms23.4%
pixelmatch/1 (identical)25.72ms19.31ms6.41ms24.9%
pixelmatch/212.90ms9.57ms3.34ms25.9%
pixelmatch/2 (identical)13.08ms9.69ms3.40ms26.0%
pixelmatch/325.53ms19.37ms6.16ms24.1%
pixelmatch/3 (identical)25.28ms19.37ms5.91ms23.4%
pixelmatch/418.44ms11.52ms6.93ms37.5%
pixelmatch/4 (identical)18.37ms11.59ms6.78ms36.9%
pixelmatch/513.42ms9.72ms3.70ms27.6%
pixelmatch/5 (identical)13.08ms9.49ms3.59ms27.4%
pixelmatch/612.90ms9.68ms3.22ms24.9%
pixelmatch/6 (identical)13.02ms9.58ms3.45ms26.5%
pixelmatch/724.89ms16.07ms8.82ms35.4%
pixelmatch/7 (identical)24.87ms16.12ms8.75ms35.2%

Hitchhikers SSIM SSIM (@blazediff/ssim using hitchhikers-ssim vs ssim.js using weber algorithm) (image IO excluded)

25 iterations (3 warmup)

~70% performance improvement on average.

Benchmarkssim.jsBlazeDiffTime Saved% Improvement
blazediff/174.37ms12.33ms62.04ms83.4%
blazediff/1 (identical)74.80ms12.59ms62.21ms83.2%
blazediff/234.76ms9.95ms24.80ms71.4%
blazediff/2 (identical)34.41ms10.00ms24.41ms70.9%
blazediff/3128.50ms46.36ms82.14ms63.9%
blazediff/3 (identical)124.50ms45.99ms78.51ms63.1%
pixelmatch/122.32ms3.77ms18.55ms83.1%
pixelmatch/1 (identical)22.56ms3.79ms18.77ms83.2%
pixelmatch/211.71ms1.87ms9.85ms84.1%
pixelmatch/2 (identical)11.04ms1.82ms9.21ms83.5%
pixelmatch/322.89ms3.82ms19.07ms83.3%
pixelmatch/3 (identical)22.55ms3.78ms18.77ms83.2%
pixelmatch/419.41ms5.36ms14.05ms72.4%
pixelmatch/4 (identical)19.34ms5.18ms14.16ms73.2%
pixelmatch/511.22ms1.87ms9.35ms83.3%
pixelmatch/5 (identical)11.03ms1.92ms9.10ms82.6%
pixelmatch/611.99ms1.95ms10.04ms83.8%
pixelmatch/6 (identical)11.21ms1.90ms9.31ms83.1%
pixelmatch/724.27ms7.23ms17.04ms70.2%
pixelmatch/7 (identical)24.61ms7.17ms17.44ms70.9%

Benchmarks run on MacBook Pro M1 Max, Node.js 22

Last updated on