)]}'
{
  "commit": "498fbf7cc39ebf9b8fe85ea6f3ad59f3eae4be4e",
  "tree": "c0dd7d3a1a1d2eebcd3309c2f71be7c9c1e6bd27",
  "parents": [
    "9a6e465a38f1b60d7e28f6b5353c43d35b570183"
  ],
  "author": {
    "name": "Brandon Jones",
    "email": "bajones@chromium.org",
    "time": "Mon Nov 10 19:29:11 2025 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Nov 10 19:29:11 2025 -0800"
  },
  "message": "Optimize Dawn Wire WriteBuffer\n\nReduces the number of memcpys that are done when uploading buffer data\nvia WriteBuffer using the wire client. Does so by directly managing the\nallocation of shared memory and writing to that rather than copying the\ndata to the wire command buffer first, which may involve chunking and\nadditional copies.\n\nIn tests so far this performs up to 2X better than the previous\nWriteBuffer implementation, depending on data size. (Larger uploads\ntypically see a bigger improvement.)\n\nDerived from Loko\u0027s prototype:\nhttps://dawn-review.googlesource.com/c/dawn/+/269134\nhttps://dawn-review.googlesource.com/c/dawn/+/269814\n\nAlternative to my previous effort to move the WriteBuffer implementation\nclient-side: https://dawn-review.googlesource.com/c/dawn/+/270895\n\nBug: 441900745\nChange-Id: I1d7aa1b7f64e2ac6582512d64a4b981f2e208cd6\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/271535\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\nCommit-Queue: Brandon Jones \u003cbajones@chromium.org\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d53226fa20b807a494cc68f187e9f2a8653ebf1",
      "old_mode": 33188,
      "old_path": "include/dawn/wire/WireServer.h",
      "new_id": "d64fc57626c342d2ff87a325d03ea2d1c11113a7",
      "new_mode": 33188,
      "new_path": "include/dawn/wire/WireServer.h"
    },
    {
      "type": "modify",
      "old_id": "0fd2c0159e8b2874b7d4972909d77fa3245cbdbe",
      "old_mode": 33188,
      "old_path": "src/dawn/dawn_wire.json",
      "new_id": "c5d7387270837817a00ac5603419d73064a28a5e",
      "new_mode": 33188,
      "new_path": "src/dawn/dawn_wire.json"
    },
    {
      "type": "modify",
      "old_id": "a724441cfdf884c49fc0467c17fb2ef4e10814db",
      "old_mode": 33188,
      "old_path": "src/dawn/wire/client/Queue.cpp",
      "new_id": "490d1ecaf5cc1169577e8787d63aa80b0870218b",
      "new_mode": 33188,
      "new_path": "src/dawn/wire/client/Queue.cpp"
    },
    {
      "type": "modify",
      "old_id": "8ce8973bc28a2ea57568e8b345ed0a0b8c1eb84c",
      "old_mode": 33188,
      "old_path": "src/dawn/wire/server/ServerQueue.cpp",
      "new_id": "d35355fb1ea00169069f9c41b8acdfc65f4b3f10",
      "new_mode": 33188,
      "new_path": "src/dawn/wire/server/ServerQueue.cpp"
    }
  ]
}
