webrtc/modules
Victor Boivie b2f8c1675d Use unordered_map in ReceiveStatisticsImpl
In highly loaded media servers, ReceiveStatisticsImpl's use of std::map
attributes to ~0.32% CPU. It needs to be able to iterate through the
statisticians in order when reporting, but that is considered to be rare
compared to how often they are looked up. So this commit adds a separate
sorted set for just keeping track of the SSRCs, and letting the map of
SSRC to Statisticians, be unordered.

Bug: webrtc:12689
Change-Id: I69fe41d96bca31b2e8d669b58b5c7afabceaa6a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/216385
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33864}
2021-04-28 13:28:35 +00:00
..
async_audio_processing Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
audio_coding Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
audio_device Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
audio_mixer Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
audio_processing Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
congestion_controller Replace interfaces for sending RTCP with std::functions in ReceiveSideCongestionController 2021-04-21 13:10:44 +00:00
desktop_capture Add DesktopCaptureOptions to allow WGC capturer. 2021-04-26 18:00:59 +00:00
include Delete RTPFragmentationHeader as no longer used 2020-09-03 00:01:27 +00:00
pacing Use unordered map in RoundRobinPacketQueue 2021-04-27 12:55:35 +00:00
remote_bitrate_estimator Replace interfaces for sending RTCP with std::functions in ReceiveSideCongestionController 2021-04-21 13:10:44 +00:00
rtp_rtcp Use unordered_map in ReceiveStatisticsImpl 2021-04-28 13:28:35 +00:00
third_party Use source_sets in component builds and static_library in release builds. 2019-10-17 21:17:18 +00:00
utility Replace RecursiveCriticalSection with Mutex in ProcessThreadImpl 2021-03-01 12:13:09 +00:00
video_capture Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
video_coding Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
video_processing Delete unneeded dependencies on the Module abstraction 2020-12-21 09:09:57 +00:00
BUILD.gn Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
module_common_types_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00