)]}'
{
  "commit": "ae1f8f59ac199e314cfb72ffdf40542ce2cfccb8",
  "tree": "45f6fa2961c74ad4b341f690939333ba51c7446f",
  "parents": [
    "56e482541376a9fe7429826ca55bbd57f8b41c58"
  ],
  "author": {
    "name": "Victor Boivie",
    "email": "boivie@webrtc.org",
    "time": "Tue May 04 13:52:32 2021"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue May 11 10:19:06 2021"
  },
  "message": "Use a std::deque in RemoteEstimatorProxy\n\nBefore this CL, the RemoteEstimatorProxy used a std::map to track which\narrival time a packet with a certain sequence number was received at.\nWhile this works, it\u0027s fairly slow as most manipulations and insertions\nare O(log(N)) and there were quite many of them.\n\nBy taking advantage that sequence numbers generally are received in\nsequence, recording a packet is now amortized O(1). Also other\noperations such as creating the periodic feedback reports, are also\nmuch faster as it previously was done by searching quite a few times\nin that map.\n\nIn highly loaded Media Servers, RemoteEstimatorProxy\u0027s usage of\nstd::map attributes to around 0.52% CPU.\n\nBug: webrtc:12689\nChange-Id: I3dd58105f9fbfb111f176833cd4aa6b040c0e01d\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/217388\nReviewed-by: Björn Terelius \u003cterelius@webrtc.org\u003e\nReviewed-by: Erik Språng \u003csprang@webrtc.org\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@webrtc.org\u003e\nCommit-Queue: Victor Boivie \u003cboivie@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#33979}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81aa1efddac328a4899b1d045198ecb0b431b57c",
      "old_mode": 33188,
      "old_path": "modules/remote_bitrate_estimator/BUILD.gn",
      "new_id": "85077038aa7d6d7ec1ca67a65bab4624c58cb8f8",
      "new_mode": 33188,
      "new_path": "modules/remote_bitrate_estimator/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72696f6c80a0b429cb6045c950fc5ccf8f21852f",
      "new_mode": 33188,
      "new_path": "modules/remote_bitrate_estimator/packet_arrival_map.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10659e0f6501005cdfd461ce94cb304306ef996f",
      "new_mode": 33188,
      "new_path": "modules/remote_bitrate_estimator/packet_arrival_map.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afc7038832260658d9c73644417735b6f36086ae",
      "new_mode": 33188,
      "new_path": "modules/remote_bitrate_estimator/packet_arrival_map_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ba047755bf0d0481b01d810af1184daf2625cbed",
      "old_mode": 33188,
      "old_path": "modules/remote_bitrate_estimator/remote_estimator_proxy.cc",
      "new_id": "7764e60ef2b9c06923202f7685771516b6765128",
      "new_mode": 33188,
      "new_path": "modules/remote_bitrate_estimator/remote_estimator_proxy.cc"
    },
    {
      "type": "modify",
      "old_id": "37ef7c43a1403a0496c8101be92a40b9033c7ad4",
      "old_mode": 33188,
      "old_path": "modules/remote_bitrate_estimator/remote_estimator_proxy.h",
      "new_id": "4f8940999526b8c73eb717bacc438f15e4eee062",
      "new_mode": 33188,
      "new_path": "modules/remote_bitrate_estimator/remote_estimator_proxy.h"
    }
  ]
}
