perf: 81% RSS reduction — el_release, arena scoping, streaming codegen, libcurl stub
Chain of optimizations from swarm rounds 4-7: - Flat stride-2 token list: eliminate per-token Map allocation (~112B each × N tokens) - Systematic el_release() in parser.el: eagerly free intermediate parse result maps - Per-function and per-statement arena scoping in codegen_streaming() - Streaming codegen pipeline: parse one fn at a time, emit C, discard AST - HAVE_CURL guard: elc CLI binary drops libcurl, eliminating SSL/TLS init overhead - HTML codegen parts-list: O(n) instead of O(n²) string growth for nested templates - Batch c_escape: str_slice clean runs instead of char-at per byte Result: 33.4MB → 6.5MB RSS on web/src/main.el (-81%). Self-host: PASS.
This commit is contained in:
Vendored
BIN
Binary file not shown.
Reference in New Issue
Block a user