The GitHub Actions job "Run Integration Tests" on 
rocketmq.git/perf/flat-properties-map has succeeded.
Run started by GitHub user wang-jiahua (triggered by wang-jiahua).

Head commit for run:
5cfc7716524308bf56e72c88d239cbc37215b85b / wangjiahua.wjh 
<[email protected]>
[ISSUE #10442] Optimize message properties encode/decode to reduce allocation

Focuses on the properties encode/decode hot path (broker send + dispatch):

- MessageDecoder.string2messageProperties: right-size HashMap from
  separator count instead of fixed capacity 128; intern well-known
  property keys via length-bucketed regionMatches (skip substring+hash);
  intern frequent values ("0","1","true","false","DefaultRegion").
- MessageDecoder.messageProperties2Bytes: direct UTF-8 byte serialization
  of Map entries, skipping the StringBuilder→String→getBytes round-trip.
- MessageDecoder.bytes2messageProperties: parse directly from byte[]
  with ASCII key matching, skipping intermediate String allocation.
- MessageDecoder.messageProperties2String: reuse ThreadLocal StringBuilder
  with capacity cap to bound per-thread memory.
- MessageConst: add STRING_INTERN_MAP and STRING_INTERN_BY_LEN for
  canonical key interning.
- MessageExtBrokerInner: add propertiesData byte[] cache field to
  short-circuit propertiesString→byte[] re-encoding on the write path.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

Report URL: https://github.com/apache/rocketmq/actions/runs/28491257149

With regards,
GitHub Actions via GitBox

Reply via email to