Skip to content

Benchmark measurement details

Historical measurement. Not a measurement of the latest release.

View the results · Contributor benchmark guide

Measurement identity Value
Source revision 5db7197532eb08b37d748a78fb789545ab8aa577
Measured at 2026-10-21T11:26:29.269699Z
Result status completed
Source document SHA-256 0b77be28e24a2c6fb6fab834b1e4dc27deaf20714b782fd4bb24178f5e566c6d
Policy Paired workload comparisons are summarized within each runner cohort; runner cohorts are not compared against one another.
runner_count 4
platforms macOS 15 · arm64; Ubuntu 24.04 · arm64; Ubuntu 24.04 · x86_64; Ubuntu 24.04 · x86_64 · Pillow-SIMD paired cohort

Runner cohorts and hardware

Runner cohort OS Architecture CPU Python Rust toolchain Runner image
macOS 15 · arm64 macOS-15.7.9-arm64-arm-64bit arm64 Apple M1 (Virtual) 3.12.10 1.96.1 macos15-20260907.0337.1
Ubuntu 24.04 · arm64 Linux-7.0.0-1017-azure-aarch64-with-glibc2.39 aarch64 Neoverse-N2 3.12.10 1.96.1 ubuntu24-arm64-20261018.154.1
Ubuntu 24.04 · x86_64 Linux-6.17.0-1022-azure-x86_64-with-glibc2.39 x86_64 AMD EPYC 7763 64-Core Processor 3.12.10 1.96.1 ubuntu24-20261012.334.1
Ubuntu 24.04 · x86_64 · Pillow-SIMD paired cohort Linux-6.17.0-1022-azure-x86_64-with-glibc2.39 x86_64 AMD EPYC 7763 64-Core Processor 3.12.10 1.96.1 ubuntu24-20261012.334.1

Comparison cohorts

Runner Cohort Run Measured at Source SHA-256
macOS 15 · arm64 default migration-benchmark-2d602fc00d24492d854862d10a5d5989 2026-10-21T11:26:29.269699Z 10d57e5ad6af557d693c648420dc107c7a35b10f6b91ad65a7084a8955e66360
macOS 15 · arm64 parallel-cpu migration-benchmark-f26cf18101b447b091c011e1133d2726 2026-10-21T11:34:28.497946Z 11a70bf277b23f270217a7269b4b12c61b6aa1a19ca531df352cb3ffb2d9b3ac
Ubuntu 24.04 · arm64 default migration-benchmark-23fb0d6397ec4c77aae7c3bee551af0a 2026-10-21T10:40:04.393859Z 226c9e4d40d080e8a5ebc76d5252ac5650f7edb18675b1ffd83904ecd7748b6a
Ubuntu 24.04 · arm64 parallel-cpu migration-benchmark-e55a71e76b1e4f8e8b6ca2429855e664 2026-10-21T10:45:57.154575Z cbef9444af5a38f4609597377d1aa6ea1b89d138c16b84bec6f19d936d01c4a2
Ubuntu 24.04 · x86_64 default migration-benchmark-da602e6ca6e94ecfb5bcba62d14913e2 2026-10-21T10:46:35.220430Z eedf096239320291c9ad6cbb42f8fa20ae3cc2542f88f50373be7faacda4e5ab
Ubuntu 24.04 · x86_64 parallel-cpu migration-benchmark-75fe6831874f4df6a7fb86d7f5eac0ae 2026-10-21T10:53:26.181116Z 10314424e0b883b36aa69d39e731385bf1ff516993d73c5e73e80c45ba1f1d3e
Ubuntu 24.04 · x86_64 · Pillow-SIMD paired cohort pillow migration-benchmark-15a619ce4f8547ff84fb69e2fa482c31 Not measured Not measured
Ubuntu 24.04 · x86_64 · Pillow-SIMD paired cohort pillow-simd migration-benchmark-231f0c51d0f845048dcc2e801d85d6d7 Not measured Not measured

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.

  • Whole-workflow timings. successful_execution is an execution gate, not a pixel-parity claim.
  • Requested and actual backends are separate. Host controls and missing terminal evidence do not prove native GPU performance.
  • Parallel CPU is an opt-in Rayon build measured separately. Its parity preflight uses Pillow, while its speed ratios reuse ordinary Pillow timings from the default run; no second Pillow timing is collected.
  • Each runner cohort is a separate GitHub-hosted measurement. Ratios are formed only between matching rows from that same cohort; runner cohorts are not compared directly.
  • The reader summary counts faster, slower, and tied parity-verified workloads separately by runner and operation/pipeline scope; counts are not production-traffic weights or confidence estimates.
  • The expandable per-workload ratio plot shows each parity-verified workload as a labeled observation; it is not a confidence interval or a universal speed guarantee.
  • This x86-only cohort compares pillow-rs CPU/SIMD, ordinary Pillow 12.1.1, and Pillow-SIMD 12.1.1.post0 on identical workloads and measurement policies.
  • Pillow-SIMD and Pillow were run in separate virtual environments because both install the PIL namespace. pillow-rs CPU/SIMD parity uses regular Pillow; Pillow-SIMD compatibility is checked separately and incompatible baseline cells remain visible with their speed ratios withheld.
  • The matched cohort covers 37 full-size, parity-backed workflow IDs: 32 pipeline-op workloads, the established RGB GaussianBlur case, and getchannel in L, LA, RGB, and RGBA. Each measured source uses the same input and measurement policy per workflow; target profiles appear only when declared by that workload.
  • This cohort uses the Pillow-SIMD default SSE4 build. It is not comparable with the Apple ARM measurements on the main benchmark page.
  • Pillow-SIMD output differed from regular Pillow on 3 workload(s); those baseline cells are retained and no Pillow-SIMD speed ratio is accepted: pipeline-op.filter.material-l-noise-5x5-1024x768, pipeline-op.filter.material-la-nonmatching-5x5-1024x768, pipeline-op.grayscale.material-rgb-noise-1024x768.
  • Pillow-SIMD rows are paired with ordinary Pillow and pillow-rs CPU/SIMD from one Linux x86 benchmark run; that narrow cohort is kept separate from the full Linux and macOS workloads.

Scope

The linked snapshot retains each recorded workload, context, timing, correctness result, and backend receipt. Its workload set is historical and does not represent the current generated public-operation inventory. Use it for the recorded run only; do not interpret its aggregate counts as current API coverage.

Correctness, native dispatch, timing regressions, process memory, and artifact size are separate claims.