Skip to content

Benchmark results

Recorded 2026-09-21. Historical measurement. Not a measurement of the latest release. Run status: completed.

Which implementation takes less time? Compare every workload with libjpeg-turbo, the baseline. Lower time is better.

image-slash-star12 faster · 24 slowervs libjpeg-turbo · 0 equal · 4 not comparable

Observed median comparisons, not an overall score. Timing-only rows do not establish equal output; small differences may be noise.

Shorter bars = less time within a row. Click a column heading to sort. Scroll the table horizontally on small screens.

Median time per workload; speed factors are relative to the baseline in the same row.
BaselineMedian · vs baselineLowest medianAmong comparable implementations
EncodeEncode JPEG8 × 8 · RGB · quality 85 · 4:2:05.96 µsBaselinelibjpeg-turbo. Output hash and size match.2.96 µs2.01× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
EncodeEncode JPEG32 × 32 · RGB · quality 85 · 4:2:09.17 µsBaselinelibjpeg-turbo. Output hash and size match.5.62 µs1.63× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
EncodeEncode JPEG63 × 65 · RGB · quality 85 · 4:2:021.8 µsBaselinelibjpeg-turbo. Output hash and size match.23 µs1.06× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 10 · 4:2:035.2 µsBaselinelibjpeg-turbo. Output hash and size match.50.2 µs1.43× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 50 · 4:2:050.3 µsBaselinelibjpeg-turbo. Output hash and size match.77.7 µs1.55× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:065.9 µsBaselinelibjpeg-turbo. Output hash and size match.99.8 µs1.51× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 100 · 4:2:085.2 µsBaselinelibjpeg-turbo. Output hash and size match.116 µs1.36× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG512 × 512 · RGB · quality 10 · 4:2:0585 µsBaselinelibjpeg-turbo. Output hash and size match.1.15 ms1.96× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG512 × 512 · RGB · quality 85 · 4:2:01.25 msBaselinelibjpeg-turbo. Output hash and size match.2.35 ms1.88× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG1024 × 1024 · RGB · quality 85 · 4:2:05.54 msBaselinelibjpeg-turbo. Output hash and size match.9.4 ms1.7× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:295 µsBaselinelibjpeg-turbo. Output hash and size match.159 µs1.67× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:4:4146 µsBaselinelibjpeg-turbo. Output hash and size match.240 µs1.65× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · optimized243 µsBaselinelibjpeg-turbo. Output hash and size match.242 µs1.01× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · progressive750 µsBaselinelibjpeg-turbo. Output hash and size match.816 µs1.09× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · restart every 4 rows72.9 µsBaselinelibjpeg-turbo. Output hash and size match.109 µs1.5× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · GRAY · quality 8561 µsBaselinelibjpeg-turbo. Output hash and size match.55.8 µs1.09× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
EncodeEncode JPEG512 × 512 · GRAY · quality 851.05 msBaselinelibjpeg-turbo. Output hash and size match.1.18 ms1.13× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
EncodeEncode JPEG128 × 128 · CMYK · quality 85212 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld.312 µsNot comparableimage-slash-star. Output differs · speed comparison withheld.Not comparableOutput differs · speed comparison withheld
EncodeEncode JPEG512 × 512 · CMYK · quality 853.87 msBaselinelibjpeg-turbo. Output differs · speed comparison withheld.6.8 msNot comparableimage-slash-star. Output differs · speed comparison withheld.Not comparableOutput differs · speed comparison withheld
EncodeEncode JPEG127 × 129 · RGB · quality 85 · 4:2:072.9 µsBaselinelibjpeg-turbo. Output hash and size match.115 µs1.58× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG8 × 8 · RGB · quality 85 · 4:2:05.17 µsBaselinelibjpeg-turbo. Output hash and size match.1.96 µs2.64× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG32 × 32 · RGB · quality 85 · 4:2:012.2 µsBaselinelibjpeg-turbo. Output hash and size match.7.75 µs1.58× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG63 × 65 · RGB · quality 85 · 4:2:037.3 µsBaselinelibjpeg-turbo. Output hash and size match.29 µs1.29× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 10 · 4:2:034.6 µsBaselinelibjpeg-turbo. Output hash and size match.42.9 µs1.24× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 50 · 4:2:083.7 µsBaselinelibjpeg-turbo. Output hash and size match.79.9 µs1.05× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0129 µsBaselinelibjpeg-turbo. Output hash and size match.125 µs1.03× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 100 · 4:2:0185 µsBaselinelibjpeg-turbo. Output hash and size match.209 µs1.13× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG512 × 512 · RGB · quality 10 · 4:2:0649 µsBaselinelibjpeg-turbo. Output hash and size match.905 µs1.4× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG512 × 512 · RGB · quality 85 · 4:2:02.34 msBaselinelibjpeg-turbo. Output hash and size match.2.65 ms1.14× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG1024 × 1024 · RGB · quality 85 · 4:2:09.6 msBaselinelibjpeg-turbo. Output hash and size match.11.5 ms1.2× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:2173 µsBaselinelibjpeg-turbo. Output hash and size match.161 µs1.08× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:4:4281 µsBaselinelibjpeg-turbo. Output hash and size match.370 µs1.32× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · optimized133 µsBaselinelibjpeg-turbo. Output hash and size match.166 µs1.25× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · progressive383 µsBaselinelibjpeg-turbo. Output hash and size match.389 µs1.02× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · restart every 4 rows140 µsBaselinelibjpeg-turbo. Output hash and size match.137 µs1.02× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match
DecodeDecode JPEG128 × 128 · GRAY · quality 8598 µsBaselinelibjpeg-turbo. Output hash and size match.106 µs1.08× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG512 × 512 · GRAY · quality 851.71 msBaselinelibjpeg-turbo. Output hash and size match.2.17 ms1.27× slowerimage-slash-star. Output hash and size match.libjpeg-turboOutput hash and size match
DecodeDecode JPEG128 × 128 · CMYK · quality 85442 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld.581 µsNot comparableimage-slash-star. Output differs · speed comparison withheld.Not comparableOutput differs · speed comparison withheld
DecodeDecode JPEG512 × 512 · CMYK · quality 857.52 msBaselinelibjpeg-turbo. Output differs · speed comparison withheld.10.4 msNot comparableimage-slash-star. Output differs · speed comparison withheld.Not comparableOutput differs · speed comparison withheld
DecodeDecode JPEG127 × 129 · RGB · quality 85 · 4:2:0136 µsBaselinelibjpeg-turbo. Output hash and size match.131 µs1.04× fasterimage-slash-star. Output hash and size match.image-slash-starOutput hash and size match

40 recorded workloads · 2026-09-21 · macOS-14.8.9-arm64-arm-64bit

JPEG encode and decode across image sizes, quality and color settings. Other codecs and complete decode–encode pipelines are not measured in this snapshot.

Measurement details and hardware · Download results · Contributor benchmark guide