Skip to content

Commit 6ecb4bd

Browse files
committed
Add ASGI marshalling optimizations for reduced Erlang-Python overhead
Implement optimized ASGI request/response handling: - Pre-interned Python string keys for ASGI scope dicts (15+ keys) - Cached constant values (http type, HTTP versions, methods, schemes) - Thread-local response pooling (16 slots per thread, 4KB initial buffer) - Direct ASGI NIF path bypassing generic py:call() - Zero-copy body handling threshold (1KB) New files: - c_src/py_asgi.h: Header with interned key declarations and types - c_src/py_asgi.c: Implementation of all optimizations - src/py_asgi.erl: High-level Erlang API Expected performance gains: - Interned keys: +15-20% throughput - Response pooling: +20-25% throughput - Direct NIF: +25-30% throughput
1 parent 0f98bcd commit 6ecb4bd

5 files changed

Lines changed: 2030 additions & 2 deletions

File tree

0 commit comments

Comments
 (0)