rtp_rtcp: use webrtc::flat_map for remote_senders
This one is frequently accessed - Mainly by ::CreateReportBlocks and is visible in performance profiles (although not very much). By using webrtc::flat_map, better data cache locality is expected. Bug: webrtc:12689 Change-Id: Ic2ebcad806788074b2b4cb244a25395a48df1852 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232541 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35054}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
72435325c6
commit
68dc02b32f
@ -378,6 +378,7 @@ rtc_library("rtcp_transceiver") {
|
||||
"../../api/video:video_bitrate_allocation",
|
||||
"../../rtc_base:checks",
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../rtc_base/containers:flat_map",
|
||||
"../../rtc_base/task_utils:repeating_task",
|
||||
"../../rtc_base/task_utils:to_queued_task",
|
||||
"../../system_wrappers",
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
|
||||
#include "modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h"
|
||||
#include "modules/rtp_rtcp/source/rtcp_transceiver_config.h"
|
||||
#include "rtc_base/containers/flat_map.h"
|
||||
#include "rtc_base/task_utils/repeating_task.h"
|
||||
#include "system_wrappers/include/ntp_time.h"
|
||||
|
||||
@ -118,7 +119,7 @@ class RtcpTransceiverImpl {
|
||||
absl::optional<rtcp::Remb> remb_;
|
||||
// TODO(danilchap): Remove entries from remote_senders_ that are no longer
|
||||
// needed.
|
||||
std::map<uint32_t, RemoteSenderState> remote_senders_;
|
||||
flat_map<uint32_t, RemoteSenderState> remote_senders_;
|
||||
RepeatingTaskHandle periodic_task_handle_;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user