)]}'
{
  "commit": "f6dace2afa9f7815ea8a38ff6a1948449d40ea44",
  "tree": "f82bf473e7bb747f0fa443b8c04ecf3818296ed5",
  "parents": [
    "bc7eed6d875baef5d64372145dbc188443901264"
  ],
  "author": {
    "name": "Sadrul Chowdhury",
    "email": "sadrul@google.com",
    "time": "Tue Sep 15 16:20:27 2026 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 15 16:20:27 2026 -0700"
  },
  "message": "pw_tokenizer: Reserve vector capacity in FormatString::Format\n\nIn FormatString::Format, the results vector holds DecodedArg elements\nfor each segment in segments_. Pre-allocating the vector capacity via\nresults.reserve(segments_.size()) eliminates incremental dynamic\nreallocations and moves as elements are decoded and pushed back.\n\nBenchmark tests were run on a test device before and after optimization\nto measure CPU runtime and total native-memory allocations:\n\nFormatString::Format CPU Runtime (Mean):\n- NoArgs (\"Hello\"):               0.0010 ms -\u003e 0.0010 ms (~2.3% faster)\n- OneArg (\"Hello %s\"):            0.0581 ms -\u003e 0.0305 ms (47.6% faster)\n- TwoArgs (\"The %d %s\"):          0.1153 ms -\u003e 0.0599 ms (48.1% faster)\n- FourArgs (\"A %d B %d C %d D %d\"): 0.1179 ms -\u003e 0.0334 ms (71.7% faster)\n- EightArgs (\"%d ... %d\"):        0.1514 ms -\u003e 0.0375 ms (75.2% faster)\n\nFormatString::Format Native-Memory Allocations (per-call):\n- NoArgs:    1 alloc (32 B)  -\u003e 1 alloc (32 B)  [unaltered]\n- OneArg:    2 allocs (96 B) -\u003e 1 alloc (64 B)  [-50.0% allocs, -33.3% bytes]\n- TwoArgs:   4 allocs (256 B) -\u003e 2 allocs (160 B) [-50.0% allocs, -37.5% bytes]\n- FourArgs:  4 allocs (480 B) -\u003e 1 alloc (256 B) [-75.0% allocs, -46.7% bytes]\n- EightArgs: 5 allocs (992 B) -\u003e 1 alloc (480 B) [-80.0% allocs, -51.6% bytes]\n\nTotal allocations over 100 iterations (EightArgs) dropped from 505\nallocations (100,192 bytes) to 101 allocations (48,480 bytes).\n\nEnd-to-End Detokenize CPU Runtime Impact on Device (Mean):\n- Detokenize_OneArg:         0.0614 ms -\u003e 0.0336 ms (45.3% faster)\n- Detokenize_TwoArgs1:        0.1032 ms -\u003e 0.0479 ms (53.6% faster)\n- Detokenize_TwoArgs2:        0.1015 ms -\u003e 0.0476 ms (53.1% faster)\n- DetokenizeText_OneArg:      0.0628 ms -\u003e 0.0365 ms (41.8% faster)\n- DetokenizeText_TwoArgs1:     0.1074 ms -\u003e 0.0524 ms (51.2% faster)\n- DetokenizeText_TwoArgs2:     0.1072 ms -\u003e 0.0524 ms (51.1% faster)\n- DetokenizeText_TwoMessages: 0.1409 ms -\u003e 0.1214 ms (13.8% faster)\n\nBug: b/562099272\nChange-Id: I684206a4d5af05013eaed585793440343fa2c904\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/477545\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c831cceb38a02590d90e5478282cacf46e39ebb4",
      "old_mode": 33188,
      "old_path": "pw_tokenizer/decode.cc",
      "new_id": "87e787a0a7ebad06b5f5434d7625a7d2fa453f9e",
      "new_mode": 33188,
      "new_path": "pw_tokenizer/decode.cc"
    },
    {
      "type": "modify",
      "old_id": "675350d4a0851808d91aaa632b037569977111a3",
      "old_mode": 33188,
      "old_path": "pw_tokenizer/detokenize_perf_test.cc",
      "new_id": "4ebda19f809638ba23b391e531da00de58a7cb6d",
      "new_mode": 33188,
      "new_path": "pw_tokenizer/detokenize_perf_test.cc"
    }
  ]
}
