Benchmark for image reading for different libraries.

pip install imread-benchmark==0.0.5


Code style: black CircleCI

I/O benchmark

I/O benchmark for different image processing python libraries.

The code is inspired by the benchmark code of Alex Parinov for the albumentations library.

The idea is inspired by the work of Roman Soloviov:


sudo apt install libturbojpeg libvips-dev

You can use pip to install imread_benchmark:

pip install imread_benchmark

If you want to get the latest version of the code before it is released on PyPI you can install the library from GitHub:

pip install -U git+

To calculate the I/O speed of your SSD/HDD in Linux

sudo apt-get install hdparm

sudo hdparm -Tt <disk_id>

where disk_id is of the type /dev/sda

As a result you may expect something like:

 Timing cached reads:   26114 MB in  1.99 seconds = 13122.03 MB/sec
 Timing buffered disk reads: 1062 MB in  3.00 seconds = 353.70 MB/sec

To run the benchmark

To get the description of all input parameters

imread_benchmark -h
imread_benchmark -d <path to images> \
                 -i <number of images to use> \
                 -r <number of repeats>

Extra options: -p - to print benchmarked libraries versions -s - to shuffle images on every run --show-std - to show standard deviation for measurements

Libraries that are benchmarked:

  • OpenCV
  • pillow-simd (PIL-SIMD)
  • jpeg4py
  • scikit-image (skimage)
  • imageio
  • pyvips