~bigbes/tarantool-protobuf: 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 a0f0ce2d9f1c9d3114f2c45ee58eb073c98ff5f3view raw patch

Parent(s): 5d0e723e

1 changed file(s)

FileStatus+
bench/profile.lua A +111