Pillow-AllSIMD performance

Pillow-AllSIMD 13 (the simd/pillow-13 branch), a fork of Pillow-SIMD and Pillow, against Pillow 13.0, the last Pillow-SIMD release, OpenCV, libvips and ImageMagick, on one x86-64 and one arm64 machine. Each library runs single-threaded on the same 2560×1600 images. Bars show throughput: longer is faster. The second number is the speed relative to Pillow 13.0.0. The branch's builds run in exact mode (PILLOW_ALLSIMD_FAST=0, Pillow's arithmetic); fast is its AVX2 or NEON build again in fast mode, the default since October 2026: kernels whose pixels may differ from Pillow's by a few levels (the fast kernels); operations without one run the exact kernels, as in the exact build above it.

How it's measured

Versions

Run it yourself

The benchmark and the page live in desmoteo/pillow-allsimd-perf. With Docker on the target machine:

git clone https://github.com/desmoteo/pillow-allsimd
git clone https://github.com/desmoteo/pillow-allsimd-perf
cd pillow-allsimd-perf
git -C ../pillow-allsimd checkout simd/pillow-13
./run.sh local                       # this machine
./run.sh --cpu 2 user@arm64-host     # another one, over SSH
python3 tools/publish.py             # copy results/ into docs/data/