Benchmark results¶
Recorded 2026-11-11. 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.88 µs2.07× 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 | 8.58 µsBaselinelibjpeg-turbo. Output hash and size match. | 5.25 µ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.9 µsBaselinelibjpeg-turbo. Output hash and size match. | 19.9 µs1.1× 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 10 · 4:2:0 | 35 µsBaselinelibjpeg-turbo. Output hash and size match. | 47.7 µ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 JPEG128 × 128 · RGB · quality 50 · 4:2:0 | 48.4 µsBaselinelibjpeg-turbo. Output hash and size match. | 63 µs1.3× 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 | 68.3 µsBaselinelibjpeg-turbo. Output hash and size match. | 81.8 µs1.2× 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 | 82.7 µsBaselinelibjpeg-turbo. Output hash and size match. | 101 µs1.22× 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 | 554 µsBaselinelibjpeg-turbo. Output hash and size match. | 1.03 ms1.85× 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.1 msBaselinelibjpeg-turbo. Output hash and size match. | 1.92 ms1.74× 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 | 4.52 msBaselinelibjpeg-turbo. Output hash and size match. | 7.38 ms1.63× 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.2 µsBaselinelibjpeg-turbo. Output hash and size match. | 137 µs1.44× 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 | 143 µsBaselinelibjpeg-turbo. Output hash and size match. | 213 µs1.49× 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 | 220 µsBaselinelibjpeg-turbo. Output hash and size match. | 212 µs1.04× 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 | 691 µsBaselinelibjpeg-turbo. Output hash and size match. | 684 µ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 · restart every 4 rows | 67.7 µsBaselinelibjpeg-turbo. Output hash and size match. | 80.2 µs1.19× 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 | 54.2 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 43.5 µ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 · GRAY · quality 85 | 861 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 998 µ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 JPEG128 × 128 · CMYK · quality 85 | 185 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 296 µ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.08 msBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 4.97 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. | 92.4 µs1.27× 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 | 4.83 µsBaselinelibjpeg-turbo. Output hash and size match. | 1.83 µ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 | 11.5 µsBaselinelibjpeg-turbo. Output hash and size match. | 7.71 µs1.49× 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 | 35.5 µsBaselinelibjpeg-turbo. Output hash and size match. | 29.5 µs1.2× 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 | 32.8 µsBaselinelibjpeg-turbo. Output hash and size match. | 43.2 µ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 50 · 4:2:0 | 76 µsBaselinelibjpeg-turbo. Output hash and size match. | 73.7 µ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 85 · 4:2:0 | 117 µsBaselinelibjpeg-turbo. Output hash and size match. | 107 µs1.09× 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 | 156 µsBaselinelibjpeg-turbo. Output hash and size match. | 184 µs1.18× 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 | 538 µsBaselinelibjpeg-turbo. Output hash and size match. | 726 µs1.35× 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 | 1.92 msBaselinelibjpeg-turbo. Output hash and size match. | 2.06 ms1.07× 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 | 7.89 msBaselinelibjpeg-turbo. Output hash and size match. | 9.09 ms1.15× 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 | 156 µsBaselinelibjpeg-turbo. Output hash and size match. | 160 µ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:4:4 | 236 µsBaselinelibjpeg-turbo. Output hash and size match. | 271 µs1.15× 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 | 113 µsBaselinelibjpeg-turbo. Output hash and size match. | 149 µ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 · progressive | 311 µsBaselinelibjpeg-turbo. Output hash and size match. | 344 µs1.11× 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 | 129 µsBaselinelibjpeg-turbo. Output hash and size match. | 119 µ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 · GRAY · quality 85 | 84.4 µsBaselinelibjpeg-turbo. Output hash and size match. | 88 µs1.04× 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.46 msBaselinelibjpeg-turbo. Output hash and size match. | 1.75 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 · CMYK · quality 85 | 356 µsBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 405 µ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 | 5.96 msBaselinelibjpeg-turbo. Output differs · speed comparison withheld. | 6.93 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 | 122 µsBaselinelibjpeg-turbo. Output hash and size match. | 121 µs1.01× 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-11-11 · macOS-15.8.2-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