Skip to content

Benchmark measurement details

Historical measurement. Not a measurement of the latest release.

View the results · Run benchmarks

Measurement identity Value
Source revision 96303c0e2626a47288e9fc283916770b0cebe852
Measured at 2026-09-21T09:40:08.393374+00:00
Result status completed
Source document SHA-256 544d20a450a3975d00a562e4d282f67004831f9035e2cd0256bd8a2b5ac7ddd6
Policy Observational codec comparison; no cross-machine regression budget.
platform macOS-14.8.9-arm64-arm-64bit
machine arm64
rustc rustc 1.96.1 (31fca3adb 2026-06-26) binary: rustc commit-hash: 31fca3adb283cc9dfd56b49cdee9a96eb9c96ffd commit-date: 2026-06-26 host: aarch64-apple-darwin release: 1.96.1 LLVM version: 22.1.2
cc Apple clang version 15.0.0 (clang-1500.3.9.4) Target: arm64-apple-darwin23.6.0 Thread model: posix InstalledDir: /Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
python 3.12.10 (v3.12.10:0cc81280367, Apr 8 2025, 08:46:59) [Clang 13.0.0 (clang-1300.0.29.30)]

Download the public measurement data. This is a presentation snapshot, not the full source receipt. It preserves the original report hash and numerical observations; hostnames, local paths, and internal traces are omitted.

  • JPEG only. This does not measure other image codecs or general image processing.
  • CMYK uses different public sample conventions in Pillow and TurboJPEG; unequal output hashes are not automatically codec errors.
  • Spread is not present in the summary CSV. It is unavailable here rather than inferred from the medians.

Full measurements

Workload Subject Median µs P90 µs P95 µs Samples Result / correctness Requested → actual Terminal receipt
encode.rgb-8-q85-420 image-slash-star 2.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-8-q85-420 libjpeg-turbo 5.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-32-q85-420 image-slash-star 5.625 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-32-q85-420 libjpeg-turbo 9.166 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-63x65-q85-420 image-slash-star 23.042 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-63x65-q85-420 libjpeg-turbo 21.750 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q10-420 image-slash-star 50.167 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q10-420 libjpeg-turbo 35.167 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q50-420 image-slash-star 77.708 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q50-420 libjpeg-turbo 50.292 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-420 image-slash-star 99.792 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-420 libjpeg-turbo 65.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q100-420 image-slash-star 115.750 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q100-420 libjpeg-turbo 85.166 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-512-q10-420 image-slash-star 1,145.333 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-512-q10-420 libjpeg-turbo 585.125 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-512-q85-420 image-slash-star 2,349.792 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-512-q85-420 libjpeg-turbo 1,252.541 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-1024-q85-420 image-slash-star 9,396.000 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-1024-q85-420 libjpeg-turbo 5,543.083 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-422 image-slash-star 158.750 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-422 libjpeg-turbo 94.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-444 image-slash-star 239.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-444 libjpeg-turbo 145.500 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-optimized image-slash-star 241.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-optimized libjpeg-turbo 243.333 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-progressive image-slash-star 815.583 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-progressive libjpeg-turbo 750.250 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-restart4 image-slash-star 108.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-128-q85-restart4 libjpeg-turbo 72.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.gray-128-q85 image-slash-star 55.750 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.gray-128-q85 libjpeg-turbo 60.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.gray-512-q85 image-slash-star 1,184.250 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.gray-512-q85 libjpeg-turbo 1,049.333 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.cmyk-128-q85 image-slash-star 312.208 Not measured Not measured 5 completed; output hash match: False; byte length match: False native → native Not applicable
encode.cmyk-128-q85 libjpeg-turbo 212.042 Not measured Not measured 5 completed; output hash match: False; byte length match: False native → native Not applicable
encode.cmyk-512-q85 image-slash-star 6,799.250 Not measured Not measured 5 completed; output hash match: False; byte length match: False native → native Not applicable
encode.cmyk-512-q85 libjpeg-turbo 3,870.625 Not measured Not measured 5 completed; output hash match: False; byte length match: False native → native Not applicable
encode.rgb-127x129-q85-420 image-slash-star 114.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
encode.rgb-127x129-q85-420 libjpeg-turbo 72.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-8-q85-420 image-slash-star 1.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-8-q85-420 libjpeg-turbo 5.167 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-32-q85-420 image-slash-star 7.750 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-32-q85-420 libjpeg-turbo 12.208 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-63x65-q85-420 image-slash-star 29.042 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-63x65-q85-420 libjpeg-turbo 37.334 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q10-420 image-slash-star 42.917 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q10-420 libjpeg-turbo 34.584 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q50-420 image-slash-star 79.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q50-420 libjpeg-turbo 83.667 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-420 image-slash-star 124.917 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-420 libjpeg-turbo 129.042 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q100-420 image-slash-star 208.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q100-420 libjpeg-turbo 185.459 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-512-q10-420 image-slash-star 905.083 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-512-q10-420 libjpeg-turbo 648.625 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-512-q85-420 image-slash-star 2,651.292 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-512-q85-420 libjpeg-turbo 2,335.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-1024-q85-420 image-slash-star 11,478.084 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-1024-q85-420 libjpeg-turbo 9,599.875 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-422 image-slash-star 161.042 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-422 libjpeg-turbo 173.167 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-444 image-slash-star 370.334 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-444 libjpeg-turbo 281.292 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-optimized image-slash-star 166.417 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-optimized libjpeg-turbo 132.791 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-progressive image-slash-star 388.750 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-progressive libjpeg-turbo 382.584 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-restart4 image-slash-star 136.833 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-128-q85-restart4 libjpeg-turbo 140.125 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.gray-128-q85 image-slash-star 105.667 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.gray-128-q85 libjpeg-turbo 98.000 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.gray-512-q85 image-slash-star 2,165.417 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.gray-512-q85 libjpeg-turbo 1,707.916 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.cmyk-128-q85 image-slash-star 580.750 Not measured Not measured 5 completed; output hash match: False; byte length match: True native → native Not applicable
decode.cmyk-128-q85 libjpeg-turbo 441.791 Not measured Not measured 5 completed; output hash match: False; byte length match: True native → native Not applicable
decode.cmyk-512-q85 image-slash-star 10,363.875 Not measured Not measured 5 completed; output hash match: False; byte length match: True native → native Not applicable
decode.cmyk-512-q85 libjpeg-turbo 7,524.833 Not measured Not measured 5 completed; output hash match: False; byte length match: True native → native Not applicable
decode.rgb-127x129-q85-420 image-slash-star 130.708 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable
decode.rgb-127x129-q85-420 libjpeg-turbo 135.958 Not measured Not measured 5 completed; output hash match: True; byte length match: True native → native Not applicable

Workload boundaries

Repeat counts, dimensions, modes, and cache states are retained per workload:

encode.rgb-8-q85-420

Sample unit: round median.

{
  "context": {
    "width": "8",
    "height": "8",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 20000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-32-q85-420

Sample unit: round median.

{
  "context": {
    "width": "32",
    "height": "32",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 15000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-63x65-q85-420

Sample unit: round median.

{
  "context": {
    "width": "63",
    "height": "65",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 8000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q10-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "10",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 4000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q50-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "50",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 4000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q85-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 4000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q100-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "100",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-512-q10-420

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "rgb",
    "quality": "10",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 300,
    "aggregation": "median of round medians"
  }
}

encode.rgb-512-q85-420

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 200,
    "aggregation": "median of round medians"
  }
}

encode.rgb-1024-q85-420

Sample unit: round median.

{
  "context": {
    "width": "1024",
    "height": "1024",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 50,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q85-422

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "422",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q85-444

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "444",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 2000,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q85-optimized

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "1",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 1500,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q85-progressive

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "1",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 500,
    "aggregation": "median of round medians"
  }
}

encode.rgb-128-q85-restart4

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "4"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

encode.gray-128-q85

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "gray",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

encode.gray-512-q85

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "gray",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 300,
    "aggregation": "median of round medians"
  }
}

encode.cmyk-128-q85

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "cmyk",
    "quality": "85",
    "subsampling": "444",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 1000,
    "aggregation": "median of round medians"
  }
}

encode.cmyk-512-q85

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "cmyk",
    "quality": "85",
    "subsampling": "444",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 100,
    "aggregation": "median of round medians"
  }
}

encode.rgb-127x129-q85-420

Sample unit: round median.

{
  "context": {
    "width": "127",
    "height": "129",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-8-q85-420

Sample unit: round median.

{
  "context": {
    "width": "8",
    "height": "8",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 20000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-32-q85-420

Sample unit: round median.

{
  "context": {
    "width": "32",
    "height": "32",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 15000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-63x65-q85-420

Sample unit: round median.

{
  "context": {
    "width": "63",
    "height": "65",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 8000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q10-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "10",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 4000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q50-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "50",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 4000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q85-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 4000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q100-420

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "100",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-512-q10-420

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "rgb",
    "quality": "10",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 300,
    "aggregation": "median of round medians"
  }
}

decode.rgb-512-q85-420

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 200,
    "aggregation": "median of round medians"
  }
}

decode.rgb-1024-q85-420

Sample unit: round median.

{
  "context": {
    "width": "1024",
    "height": "1024",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 50,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q85-422

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "422",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q85-444

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "444",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 2000,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q85-optimized

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "1",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 1500,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q85-progressive

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "1",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 500,
    "aggregation": "median of round medians"
  }
}

decode.rgb-128-q85-restart4

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "4"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

decode.gray-128-q85

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "gray",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

decode.gray-512-q85

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "gray",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 300,
    "aggregation": "median of round medians"
  }
}

decode.cmyk-128-q85

Sample unit: round median.

{
  "context": {
    "width": "128",
    "height": "128",
    "mode": "cmyk",
    "quality": "85",
    "subsampling": "444",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 1000,
    "aggregation": "median of round medians"
  }
}

decode.cmyk-512-q85

Sample unit: round median.

{
  "context": {
    "width": "512",
    "height": "512",
    "mode": "cmyk",
    "quality": "85",
    "subsampling": "444",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 100,
    "aggregation": "median of round medians"
  }
}

decode.rgb-127x129-q85-420

Sample unit: round median.

{
  "context": {
    "width": "127",
    "height": "129",
    "mode": "rgb",
    "quality": "85",
    "subsampling": "420",
    "progressive": "0",
    "optimize": "0",
    "restart_rows": "0"
  },
  "measurement_policy": {
    "boundary": "public codec operation including context/output lifetime",
    "iterations_per_round": 3000,
    "aggregation": "median of round medians"
  }
}

Reproduce and interpret

Use the benchmark protocol. Correctness, native dispatch, timing regressions, process memory, and artifact size are separate claims.