Append-only. One ## EXP-NNN section per experiment, newest at the bottom.
Use experiments/TEMPLATE.md for the entry format. Failures are as valuable as wins —
log every rejection with its reason.
Metric reminder: never MB/s. Report microseconds per run_once (lower=better),
events/sec, and syscall count.
External PR libevent/libevent#1866
(widgetii): opt-in io_uring multishot-recv fast path for socket bufferevents.
Full analysis, reproduced baseline, and improvement attempts in
EXT-PR-1866/README.md.
- Baseline reproduced (c4, kernel 6.14): io_uring +35% (64p) / +47% (128p) at 64 KiB.
- Perf tune V1 (buffer pool 128→1024, depth 256→512): REJECT −11% @128p — small L3-resident pool beats a 16 MiB cache-thrashing one.
- Perf tune V2 (
IORING_SETUP_SINGLE_ISSUER): reject (~0%, noise). DEFER/COOP_TASKRUNavoided — incompatible with the CQ-poll-via-epoll wakeup.- Conclusion: perf config near-optimal; the real improvement is the documented
timeout limitation (
IORING_OP_LINK_TIMEOUTon each multishot recv) — a feature, not a tune. Identified as next step.