Link
Skip to main content

JDeli performance comparison

Below are all the performances comparisons we have done so far (as of 6th May 2026). We will regularly update and add new results.

How we tested

The speed figures were generated using jmh (as documented on our blog) with a standard set of images (also documented), and the quality tests for writing was determined testing SSIM(Structural Similarity Index). They should be easy to replicate if you wish to validate, the code is on GitHub.

Your figures may vary depending on system but the overall results should be comparable.


BMP

Reading

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
ImageIO 56.383 ± 0.373
JDeli 171.242 ± 0.124

See BMP reader

Writing

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
Apache 10.684 ± 0.027
ImageIO 5.288 ± 0.484
JDeli 17.223 ± 0.064

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
Apache 4.76Mb 0 1.0 Identical or virtually identical
ImageIO 4.73Mb 30 0.4430668957720272 Very different
JDeli 4.83Mb 0 0.9684172944944214 Very similar (high quality)

See BMP writer


GIF

Reading

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
Apache 4.380 ± 0.011
ImageIO 1.652 ± 0.011
JDeli 5.357 ± 0.140

See GIF reader

Writing

Benchmark Score Error
Apache 1.705 ± 0.251
ImageIO 4.713 ± 0.025
JDeli 0.538 ± 0.003

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
Apache 590.01KB 0 0.8785090614816008 Similar (noticeable but minor differences)
ImageIO 404.11KB 4 0.18769307741202973 Very different
JDeli 721.95KB 0 0.8284792072170122 Moderately similar (visible differences)

See GIF writer


JPEG

Reading

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
ImageIO 0.143 ± 0.001
JDeli 0.162 ± 0.001

See JPEG reader

Writing

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
ImageIO 13.345 ± 0.049
ImageIO_high 10.049 ± 0.033
ImageIO_low 13.989 ± 0.040
JDeli 28.073 ± 0.513
JDeli_high 15.778 ± 0.126
JDeli_low 29.451 ± 0.491

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
ImageIO 201.10KB 36 0.9843408924688256 Very similar (high quality)
ImageIO_high 922.64KB 36 0.9955252550315202 Identical or virtually identical
ImageIO_low 110.37KB 36 0.753963280422963 Moderately similar (visible differences)
JDeli 232.06KB 0 0.9635278566129812 Very similar (high quality)
JDeli_high 1,484.97KB 0 0.9824853317459952 Very similar (high quality)
JDeli_low 132.199KB 0 0.7308454760175299 Moderately similar (visible differences)

See JPEG writer


JPEG2000

Reading

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
ImageIOWithJAI 48.971 ± 0.098
JDeli 123.793 ± 0.135

See JPEG2000 reader

Writing

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
ImageIOWithJAI 2.306 ± 0.007
JDeli_JP2 6.226 ± 0.023
JDeli_JPX 6.228 ± 0.020

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
ImageIOWithJAI 1,419.60KB 0 0.9659635878077559 Very similar (high quality)
JDeli JP2 288.66KB 0 0.8817187006016771 Similar (noticeable but minor differences)
JDeli JPX 277.31KB 0 0.8817187006016771 Similar (noticeable but minor differences)

See JPEG2000 writer


PNG

Reading

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
Apache 1151.556 ± 12.405
ImageIO 296.915 ± 12.564
JDeli 2160.496 ± 43.874

See PNG reader

Writing

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
Apache 5.100 ± 0.018
ImageIO 4.819 ± 0.010
ImageIO_fast 5.597 ± 0.014
ImageIO_max_comp 3.512 ± 0.008
JDeli 5.383 ± 0.033
JDeli_quantised 1.192 ± 0.001
JDeli_fast 13.061 ± 0.026
JDeli_compressed 5.402 ± 0.027
JDeli_uncompressed 12.985 ± 0.088

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
Apache 2.61MB 0 0.967281580718986 Very similar (high quality)
ImageIO 2.64MB 0 1.0 Identical or virtually identical
ImageIO_fast 2.74MB 0 1.0 Identical or virtually identical
ImageIO_max_comp 2.62MB 0 1.0 Identical or virtually identical
JDeli 2.62MB 0 1.0 Identical or virtually identical
JDeli_compressed 2.62MB 0 1.0 Identical or virtually identical
JDeli_fast 2.74MB 0 1.0 Identical or virtually identical
JDeli_quantised 0.514MB 0 0.9926136438484626 Identical or virtually identical
JDeli_uncompressed 2.74MB 0 1.0 Identical or virtually identical

See PNG writer


TIFF

Reading

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
Apache 6.601 ± 0.119
ImageIO 7.976 ± 0.140
JDeli 11.298 ± 0.363

See TIFF reader

Writing

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
Apache 4.140 ± 0.070
ImageIO_Deflate 4.533 ± 0.054
ImageIO_JPEG 7.788 ± 0.084
ImageIO_LZW 4.265 ± 0.043
ImageIO_uncompressed 9.213 ± 0.029
JDeli_better_comp 5.484 ± 0.007
JDeli_better_speed 13.116 ± 0.026
JDeli_deflate 6.361 ± 0.017
JDeli_jpeg 25.160 ± 1.732
JDeli_LZW 9.473 ± 0.027
JDeli_uncompressed 99.850 ± 3.051

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
Apache 1.83MB 1 1.0 Identical or virtually identical
ImageIO_deflate 2.78MB 1 1.0 Identical or virtually identical
ImageIO_jpeg 0.87MB 114 0.9964492586342384 Identical or virtually identical
ImageIO_lzw 3.89MB 1 1.0 Identical or virtually identical
ImageIO_uncompressed 4.84MB 1 1.0 Identical or virtually identical
JDeli_better_comp 2.66MB 1 1.0 Identical or virtually identical
JDeli_better_speed 2.78MB 1 1.0 Identical or virtually identical
JDeli_deflate 2.66MB 1 1.0 Identical or virtually identical
JDeli_jpeg 0.26MB 1 0.8720826599375827 Similar (noticeable but minor differences)
JDeli_lzw 3.88MB 1 1.0 Identical or virtually identical
JDeli_uncompressed 4.84MB 1 1.0 Identical or virtually identical

See TIFF writer


WEBP

Writing

Mode: Throughput Count: 25 Units: ops/s

Benchmark Score Error
ImageIO with darkxanter 6.508 ± 0.044
JDeli_loss 3.659 ± 0.034
JDeli_lossless 4.632 ± 0.049

Number of files: 166

Benchmark Size unreadable output AVG SSIM score AVG Similarity
ImageIO with darkxanter 78.54KB 28 0.9764829133391945 Very similar (high quality)
JDeli lossy 1,506.67KB 2 0.9539262155199079 Very similar (high quality)
JDeli lossless 88.82KB 0 0.9684172944944212 Very similar (high quality)

See WEBP writer


Why JDeli?

  • Support image formats such as AVIF, HEIC and JPEG XL that are not supported in Java.
  • Process images up to 3x faster than ImageIO and alternative Java image libraries.
  • Prevent JVM crashes caused by native code in other image libraries such as ImageIO.
  • Handle JPEG, PNG, TIFF image file formats fully in Java.
  • Keep your Image files secure as JDeli makes no calls to any external system or third party library.

Learn more about JDeli

Start Your Free Trial