Last modified: Jun 01, 2025 By Alexander Williams

Install Pillow-SIMD for Faster Image Processing

Pillow-SIMD is a faster version of the popular Pillow library. It uses SIMD instructions to speed up image processing. This guide will help you install it.

What is Pillow-SIMD?

Pillow-SIMD is a fork of the Pillow library. It adds optimizations using SIMD (Single Instruction Multiple Data). This makes image processing tasks much faster.

It supports common operations like resizing, filtering, and color conversions. The speed gains can be up to 4-8x compared to regular Pillow.

Prerequisites

Before installing Pillow-SIMD, ensure you have:

  • Python 3.6 or higher
  • pip installed
  • A C compiler (for building from source)

You may also need some system libraries. On Ubuntu/Debian, run:


sudo apt-get install libjpeg-dev zlib1g-dev

Uninstall Regular Pillow

First, uninstall any existing Pillow installation:


pip uninstall pillow

This ensures no conflicts with Pillow-SIMD. If you're using virtual environments, activate yours first.

Install Pillow-SIMD

Install Pillow-SIMD directly from pip:


pip install pillow-simd

For best performance, add compilation flags:


CC="cc -mavx2" pip install -U --force-reinstall pillow-simd

The -mavx2 flag enables AVX2 instructions. Use -msse4 for older CPUs.

Verify Installation

Check if Pillow-SIMD installed correctly:


from PIL import Image
print(Image.__version__)
print(Image.__file__)

Output should show the SIMD version:


7.0.0.post3
/usr/local/lib/python3.8/site-packages/PIL/__init__.py

Performance Comparison

Here's a simple benchmark comparing Pillow and Pillow-SIMD:


from PIL import Image
import time

img = Image.new('RGB', (4000, 4000))
start = time.time()
img.resize((2000, 2000))
print(f"Time: {time.time() - start:.3f}s")

Typical results:

  • Regular Pillow: 0.45s
  • Pillow-SIMD: 0.12s

Common Issues

If installation fails, try these solutions:

Missing dependencies: Install required system packages.

Compiler errors: Ensure you have a working C compiler.

Conflicts: Make sure regular Pillow is uninstalled.

For more complex setups, check our guide on installing PySocks for proxy support.

Advanced Configuration

You can customize the build for your CPU:


# For AVX512 (modern CPUs)
CC="cc -mavx512f" pip install pillow-simd

For other Python packages, see our tutorial on Pyrebase installation.

Conclusion

Pillow-SIMD significantly speeds up image processing in Python. It's easy to install and works as a drop-in replacement for Pillow.

For more Python optimization tips, check our guide on Python-Levenshtein installation.

Remember to always test your application after switching to Pillow-SIMD. The speed gains make it worth the effort for image-heavy applications.