)]}'
{
  "commit": "9f89475e80fc3cf1858e115be7462fb4f12e560c",
  "tree": "1eb6a237385b341c2003dbb39f095046d396dd98",
  "parents": [
    "60f173160384d96c690ecd29728105ad95ee665c"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Thu Oct 22 00:36:31 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Oct 22 12:38:07 2026 -0700"
  },
  "message": "Pool `LogMessageData` instances in a 16-slot lock-free `ObjectPool` and lazily initialize `std::ostream` in `LogMessage`.\n\nEvery active `LOG(...)` statement previously allocated a ~30.5 KB `LogMessageData` buffer from the global heap (`std::make_unique\u003cLogMessageData\u003e`) and constructed and destroyed a `std::ostream` (`std::basic_ios::init` / `std::ios_base::~ios_base`) on every log statement, even when no `std::ostream` insertion operator or I/O manipulator was used.\n\n1. Introduce `absl::log_internal::ObjectPool\u003cT, kCapacity\u003e` in `log/internal/object_pool.h`, a cacheline-aligned, `ABSL_CONST_INIT`-compatible, trivially destructible lock-free object pool probed from a `thread_local` slot hint (or `GetCachedTID() % kCapacity` when `ABSL_HAVE_THREAD_LOCAL` is unavailable), falling back to `std::make_unique\u003cT\u003e` and `delete` when all `kCapacity` slots are concurrently in use. Use `ObjectPool\u003cLogMessageData, 16\u003e` (`LogMessageData::pool`) and `LogMessageData::Reset` to reuse `LogMessageData` instances across `LogMessage` lifetimes without touching the two 15 KB buffers (`encoded_buf` and `string_buf`).\n2. Change `LogMessageData::manipulated` from `std::ostream` to `std::optional\u003cstd::ostream\u003e` with a per-message `manipulated_used` flag, lazily constructing `std::ostream(nullptr)` on first `OstreamView` use in a `LogMessageData` slot and resetting stream formatting state (`clear`, `flags`, `precision`, `width`, `fill`) once per `LogMessage` when `OstreamView` is entered.\n\nPiperOrigin-RevId: 1004554083\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b24d678d7e7cc3952a8aae63534bd799ea373aa",
      "old_mode": 33188,
      "old_path": "CMake/AbseilDll.cmake",
      "new_id": "adf98dc9b60fa3bbb46371030475ecb3a7a079fe",
      "new_mode": 33188,
      "new_path": "CMake/AbseilDll.cmake"
    },
    {
      "type": "modify",
      "old_id": "1da38e4f39aa952b6f473d561df938dca4289b1f",
      "old_mode": 33188,
      "old_path": "absl/log/CMakeLists.txt",
      "new_id": "58cad49c757b5c5c23140fdc3501742140b9855f",
      "new_mode": 33188,
      "new_path": "absl/log/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "42114edb61a21f8b4a49ad5bb66f8488bbfafd72",
      "old_mode": 33188,
      "old_path": "absl/log/internal/BUILD.bazel",
      "new_id": "e1a64ba92ae246e0cb378e5823d795df2a562b43",
      "new_mode": 33188,
      "new_path": "absl/log/internal/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e56ef25919fc6fe6b76ceee2f4b395b94cc99506",
      "old_mode": 33188,
      "old_path": "absl/log/internal/log_message.cc",
      "new_id": "6f03fc2b9913e484039ae813665123c1e67e5303",
      "new_mode": 33188,
      "new_path": "absl/log/internal/log_message.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db143f53afff6ddec85e1138fe01b2ff6adafcaf",
      "new_mode": 33188,
      "new_path": "absl/log/internal/object_pool.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b69a69c6fbb9707423c3b427d3f370743479894e",
      "new_mode": 33188,
      "new_path": "absl/log/internal/object_pool_test.cc"
    },
    {
      "type": "modify",
      "old_id": "50a64ea16498b9790ad2b40e0a7b0df51b613fc0",
      "old_mode": 33188,
      "old_path": "absl/log/log_benchmark.cc",
      "new_id": "878001b1e52ec6ec44be14d3870d9b5db17f7869",
      "new_mode": 33188,
      "new_path": "absl/log/log_benchmark.cc"
    },
    {
      "type": "modify",
      "old_id": "b792d384ace898521a7b59b2e39aa3c3934ea7f0",
      "old_mode": 33188,
      "old_path": "absl/log/log_format_test.cc",
      "new_id": "48cb4dbcd5dcf36a86e45f71a73a22bfe9426fa6",
      "new_mode": 33188,
      "new_path": "absl/log/log_format_test.cc"
    }
  ]
}
