commit | f715618eee00843441ea723f52165c6fa4ffd6f7 | [log] [tgz] |
---|---|---|
author | Victor Boivie <boivie@webrtc.org> | Tue Jul 06 21:14:51 2021 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jul 07 13:43:59 2021 |
tree | b56b536a47119e3ec116cabe2a76e556751f9bd8 | |
parent | 5900ba0ee8f3f9cef3b29becbb4335b8f440d57d [diff] |
Use flat_map in RTCPReceiver RTCPReceiver initially used a std::map, which made RTCPReceiver::IncomingPacket's use of std::map represent ~0.45% CPU in highly loaded media servers. Using std::unordered_map in change 216321 reduced it only slightly, to 0.39%. This is the second attempt to reduce it even further. By using a flat_map and taking advantage of the increased cache locality, the hope is that it will be reduced. These maps generally have low cardinality (indexed by SSRC), and are looked up often, but modified less often, which make them a potential candidate for flat_map. Bug: webrtc:12689 Change-Id: I6733ccf3484d1c54e661250fb6712971b80fa2a9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225203 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34432}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.