mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-27 08:05:33 +00:00
sjson.SetBytes 在 opts 为 nil 时 optimistic=false、inplace=false,每次调用都要 重扫整个文档并新建缓冲区拷贝,命中 N 处就是 N 次全量拷贝。/v1/responses 的 body 上限是 gateway.max_body_size(默认 256MB),构造请求能塞进百万级命中,会被放大 成 TB 级 memcpy。 改为收集 gjson 给出的绝对字节偏移后一次性拼接:全程一次分配、一次拷贝。 偏移不可用(Index 为 0)或与 body 对不上时跳过该处,而不是猜位置拼出损坏的 JSON。 实测(2000 处命中):旧写法 17740 次分配,新写法 18 次。