a0f0ce2d
bench: jit.p profile driver for hot encode/decode paths
Adds bench/profile.lua, a one-shot driver around LuaJIT's sampling profiler (jit.p). Runs Person_encode and Person_decode against the 1 KB fixture — the size where decode MB/s halves and encode MB/s stops climbing — and prints a function-and-line breakdown of where wall time actually goes. Used during the M5 perf-investigation arc to produce the attributions captured in the jit-p-profile-2026-05-18 memo and referenced by several bd issues (h8v, u39, gcy, 4kj, aah, bgu). `tarantool bench/profile.lua` runs both passes; `encode` / `decode` arguments limit to one phase. Sample rate is 4 ms and the loop runs 200 000 iterations so each phase produces ~500 samples — enough to attribute single-percent line cost.
Eugene Blikh <bigbes@gmail.com> — 2026-05-18 19:51:24 UTC
Commit a0f0ce2d9f1c9d3114f2c45ee58eb073c98ff5f3 —
view raw patch
Parent(s):
5d0e723e
| File | Status | + | − |
|---|---|---|---|
bench/profile.lua
|
A | +111 |