Performance

Benchmarks

End-to-end throughput and latency measurements for ChopFlow and comparable task-processing systems. Every number was captured on a single machine with the same harness.

Real numbers, measured end-to-end on one machine. Never extrapolated.
Peak drain throughput
15,153tasks/s
100,000-task echo drain — the true peak across all scales.
Total tasks completed
1.21M
Across every benchmark run captured on this page.
Failures
0
Zero task failures in every completed ChopFlow run.
Test machine
Apple M3 Pro
11 cores · echo workload · macOS.

Throughput

ChopFlow drain throughput by scale

End-to-end tasks per second as the backlog grows from 1,000 to 1,000,000 tasks.

Latency

ChopFlow latency percentiles

p50, p95, and p99 end-to-end latency in milliseconds, including queue wait. The 1M scale is shown in the raw table because it would dwarf this axis.

Scaling curve

Measured throughput across backlog size

No lines extend past measured points. The curve flattens as dispatch overhead saturates.

Head-to-head

How ChopFlow compares

End-to-end drain throughput on a log scale. Missing bars mean the run did not finish inside the time budget — never interpolated.

Throughput by system and scale

Y axis: tasks/s, logarithmic · domain 10–100,000

System Scale Throughput p50 p95 p99 Failures
Throughput null cells render as did not finish. Latency null cells mean latency was not captured for that run.

Workload axis

Echo vs. resize throughput

The echo workload isolates queue/dispatch overhead. Resize adds real CPU work: a 256×256 gradient plus a half-size nearest-neighbor downsample. Same 4-slot worker on the same machine.

Throughput by workload and scale

Y axis: tasks/s, logarithmic · 1k and 10k scales only

System Workload Scale p50 p95 p99

Transparency

What these numbers mean

Context matters. We are comparing systems built for different jobs, and every limitation is reported honestly.

Temporal is a durable workflow engine

It persists every step — a heavier category by design. Its numbers are context for what durability costs, not a verdict on ChopFlow.

Ray targets distributed compute

Ray is closer to Dask or Spark than to a task queue. Its throughput includes object-store and cross-actor scheduling overhead — apples-to-pears, included for perspective.

Celery and Ray did not finish at 1M

Celery and Ray 1M runs did not complete within the time budget. They are reported as DNF — not omitted, not estimated, not faked.

Raw results

Authoritative ChopFlow numbers

The single source of truth for every completed ChopFlow run.

Scale Throughput p50 p95 p99 Failures

Methodology

How these benchmarks were measured

Every detail needed to reproduce the numbers on your own hardware.

Machine
Apple M3 Pro, 11 cores, macOS.
Workload
Echo no-op task to isolate queue/dispatch overhead; resize workload adds 256×256 gradient + half-size nearest-neighbor downsample.
Scales swept
1,000 · 10,000 · 100,000 · 1,000,000 tasks per run.
Worker
One worker process with 4 execution slots for every system.
ChopFlow
cpu:4 worker configuration.
Celery
--concurrency=4 prefork worker.
Temporal
4 activity slots configured.
BullMQ
Separate worker process + Redis counter drain.
Ray
Local cluster with ray.wait drain.
  • Metrics are end-to-end: enqueue to completion, including queue wait, serialization, and acknowledgement.
  • Drain timing uses a single ready-count poll per run, not per-task overhead.
  • Latency percentiles are sampled from the first and last 1,000 tasks of each run.
  • All completed runs reported zero failures.
  • Full harness and reproduction steps are in bench/compare/README.md.