Consider BlazeDiff instead of pixelmatch for faster image diffs

Open
#2,241 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
18/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
typescript
Domain
testing

Research direction

The payload names only pixelmatch, the image diff library this issue proposes replacing, and gives no file or test paths. Before writing code, find where pixelmatch is used in the repository and check whether maintainers want a dependency change at all, since the thread has only one comment and no decision. A newcomer's first step is a comment asking for that decision; done means a maintainer has either accepted a specific swap with a plan or closed the issue.

Written by the indexing model from the issue text.

Description

Hey! I made BlazeDiff - the fastest image diff tool (MIT). It keeps pixelmatch approach, but 68% faster on average and 88% faster on identical images (benchmarks).

Initially, made it because my team hurt the visuals testing time. I could make it faster because it first compares blocks of pixels (squares) and skips the blocks that did not change, so only changed ones go to the expensive check.

Vitest, Ant Design, ApexCharts, Vega and React Native Skia (Shopify) already migrated to it.

I can open a PR if you want a faster diff with 0 effort.

Useful links

Dominant language
TypeScript
Stars
961
Forks
179
Avg merge
15h 33m
Merged PRs (30d)
476

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from getsentry/toolkit

All issues in getsentry/toolkit

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.