mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
cd4a074653
Most CITM/Twitter realloc cost was due to growing from 1024 in 7-9 doublings to reach the actual output size. Bumping the initial capacity to 256KB means Twitter (82KB) fits in one allocation and CITM (496KB) only needs 1 growth. Measured (TRUE A/B, 7 alternating rounds in single docker, with all prior follow-ups in this branch + this cap bump): CITM: 4358 -> 4924 MB/s (+13.0%) - now ~2.3% AHEAD of Glaze Twitter: 6338 -> 8034 MB/s (+26.8%) - ~50% AHEAD of Glaze Trade-off: 256KB upfront per string_builder instance. Reasonable for high-perf JSON serialization but wasteful for tiny one-off messages. Users serializing small payloads should pass a smaller initial_capacity to the constructor. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>