)]}'
{
  "commit": "98d6d508131cd5311b1b121b337a96ad98109749",
  "tree": "2101fa311f534eff154380d2ca7ca388f6a0b97d",
  "parents": [
    "c68058ac05b80d298933fe2a94bde64842bd5e0c"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Fri Oct 23 01:17:01 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Oct 23 01:17:52 2026 -0700"
  },
  "message": "Elide transient heap allocation in absl::StrSplit ConvertToContainer\u003cstd::vector\u003cstd::string\u003e\u003e for \u003c\u003d 16 tokens.\n\nWhen splitting into a std::vector\u003cstd::string\u003e, absl::StrSplit at HEAD unconditionally materialized a temporary std::vector\u003cabsl::string_view\u003e on the heap (16..256 B across TCMalloc size classes 16..256 for 1..16 tokens) solely to count elements before reserving space and constructing the returned vector.\n\nFor splits producing at most 16 tokens, stage the string views in the existing 16-element stack array (matching the std::vector\u003cabsl::string_view\u003e specialization) and emplace directly into the result vector. This eliminates 1 transient heap allocation (-50% allocs/op) and reduces requested memory by up to -40% on small inputs while improving CPU latency by ~17.5% across benchmark regimes. Splits producing \u003e 16 tokens spill to the existing heap path without changes.\n\nPiperOrigin-RevId: 1005395175\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c7cc087b6b1b4dfc1abb9044f71f5356f4736235",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/str_split_internal.h",
      "new_id": "d539ff5077aa3bbdc4ed881bb58175ab17d93572",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/str_split_internal.h"
    },
    {
      "type": "modify",
      "old_id": "7487e0091c48bd43a5f3e32fdd3668cefbbfb82a",
      "old_mode": 33188,
      "old_path": "absl/strings/str_split_test.cc",
      "new_id": "c2bcee34967ac76a0b83c72816f631a671f123ac",
      "new_mode": 33188,
      "new_path": "absl/strings/str_split_test.cc"
    }
  ]
}
