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.
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.
| Baseline | Median · vs baseline | Lowest medianAmong comparable implementations | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EncodeEncode JPEG8 × 8 · RGB · quality 85 · 4:2:0 | 5.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG32 × 32 · RGB · quality 85 · 4:2:0 | 9.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG63 × 65 · RGB · quality 85 · 4:2:0 | 21.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 10 · 4:2:0 | 35.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 50 · 4:2:0 | 50.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 | 65.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 100 · 4:2:0 | 85.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG512 × 512 · RGB · quality 10 · 4:2:0 | 585 µ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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG512 × 512 · RGB · quality 85 · 4:2:0 | 1.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG1024 × 1024 · RGB · quality 85 · 4:2:0 | 5.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:2 | 95 µsBaselinelibjpeg-turbo. Output hash and size match. | 159 µs1.67× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:4:4 | 146 µsBaselinelibjpeg-turbo. Output hash and size match. | 240 µs1.65× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · optimized | 243 µ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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · progressive | 750 µsBaselinelibjpeg-turbo. Output hash and size match. | 816 µs1.09× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · restart every 4 rows | 72.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · GRAY · quality 85 | 61 µ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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG512 × 512 · GRAY · quality 85 | 1.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG128 × 128 · CMYK · quality 85 | 212 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 312 µsNot comparableimage-slash-star. Output differs · speed comparison withheld. | Not comparableOutput differs · speed comparison withheld | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG512 × 512 · CMYK · quality 85 | 3.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| EncodeEncode JPEG127 × 129 · RGB · quality 85 · 4:2:0 | 72.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 | ||||||||||||||||||
Encode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG8 × 8 · RGB · quality 85 · 4:2:0 | 5.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG32 × 32 · RGB · quality 85 · 4:2:0 | 12.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG63 × 65 · RGB · quality 85 · 4:2:0 | 37.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 10 · 4:2:0 | 34.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 50 · 4:2:0 | 83.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 | 129 µ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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 100 · 4:2:0 | 185 µsBaselinelibjpeg-turbo. Output hash and size match. | 209 µs1.13× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG512 × 512 · RGB · quality 10 · 4:2:0 | 649 µsBaselinelibjpeg-turbo. Output hash and size match. | 905 µs1.4× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG512 × 512 · RGB · quality 85 · 4:2:0 | 2.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG1024 × 1024 · RGB · quality 85 · 4:2:0 | 9.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:2 | 173 µ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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:4:4 | 281 µsBaselinelibjpeg-turbo. Output hash and size match. | 370 µs1.32× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · optimized | 133 µsBaselinelibjpeg-turbo. Output hash and size match. | 166 µs1.25× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · progressive | 383 µsBaselinelibjpeg-turbo. Output hash and size match. | 389 µs1.02× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · RGB · quality 85 · 4:2:0 · restart every 4 rows | 140 µ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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · GRAY · quality 85 | 98 µsBaselinelibjpeg-turbo. Output hash and size match. | 106 µs1.08× slowerimage-slash-star. Output hash and size match. | libjpeg-turboOutput hash and size match | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG512 × 512 · GRAY · quality 85 | 1.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG128 × 128 · CMYK · quality 85 | 442 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 581 µsNot comparableimage-slash-star. Output differs · speed comparison withheld. | Not comparableOutput differs · speed comparison withheld | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG512 × 512 · CMYK · quality 85 | 7.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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| DecodeDecode JPEG127 × 129 · RGB · quality 85 · 4:2:0 | 136 µ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 | ||||||||||||||||||
Decode JPEG · Timing boundary: public codec operation including context/output lifetime. Sample unit: round median. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
No workloads match these filters. Try another search or reset the filters.
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