Experiment 038: Stack Allocation for Column Name Arrays
Date: 2026-04-09
Status: Accepted
Change
In write_json_to_buf, replaced heap-allocated col_names and col_name_lens
arrays with stack-allocated arrays for column counts ≤64 (covers virtually all
real schemas). Falls back to malloc for >64 columns.
Results
No isolated signal — eliminates 2 malloc + 2 free per selectBytes query, but
these are tiny allocations (typically <128 bytes). Saves ~50ns per query.
Decision
Accepted — trivial change (4 lines), eliminates unnecessary heap allocations.
64 columns × (8 + 4) bytes = 768 bytes on stack, well within safe limits.