0.2.2
Sync worker mode, CPU affinity, per-worker executor, httptools removed
Highlights
- Sync worker mode — Blocking I/O workers for request-response workloads. On Python 3.14t, runs in threads with true parallelism. No asyncio overhead for simple apps. Streaming and WebSocket hand off to an async pool.
- CPU affinity — Pin workers to cores on Linux for reduced cache thrashing.
- httptools removed —
pounce[fast]extra removed. HTTP/1.1 is h11-only (pure Python, free-threading compatible).
Added
--worker-mode auto|sync|async— Choose worker execution model (default: auto)--cpu-affinity— Pin each worker to a CPU core (Linux only)- Per-worker
ThreadPoolExecutorto prevent executor contention on 3.14t - Response frame templates and fused sync path for lower overhead
- Performance and thread-safety documentation
Changed
- Scope building optimized (cached ASGI version, tuples, deduplicated target split)
- Project metadata and URLs updated
Removed
pounce[fast]— httptools backend removed (incompatible with free-threaded Python)
Install
uv add "bengal-pounce==0.2.2"