Skip to content

Python

Runner python/
Script ./python/scripts/run-benchmarks.sh smoke
Logs logs/python/
Runtime CPython 3.12+ via uv
Log name Category Communication Package Notes
deque-lock locked T (thread) stdlib collections.deque + threading.Lock
queue.Queue concurrent T (thread) stdlib Threading MPMC blocking queue
queue.SimpleQueue concurrent T (thread) stdlib Unbounded C-accelerated MPMC; backpressure cells skipped
asyncio.Queue async A (async) stdlib Event-loop queue
janus async A (async) janus Async face only; not the hybrid thread↔async path
spsc-ring spsc T (thread) harness Single-producer ring; 1P1C only
steal-deque work-stealing T (thread) harness Owner-push / steal-from-top
multiprocessing.Queue concurrent P (process) stdlib Opt-in two-process IPC
multiprocessing.SimpleQueue concurrent P (process) stdlib Opt-in unbounded IPC pipe
shared-ring spsc S (shared) harness Opt-in two-process mapped ring
sqlite-queue durable D (durable) stdlib Opt-in SQLite queue

The published patterns are 1P1C and 4P4C. CSV still logs bytes for 1P1C. Compare T libraries separately from A. See Benchmark design.

Celery, RQ, Redis, Kafka, and the other broker/task libraries from the candidate lists are out of this lab. The full include/exclude table is Python library selection.