webrtc/modules/pacing
Victor Boivie 723873b841 Use unordered map in RoundRobinPacketQueue
In highly loaded Media Servers, RoundRobinPacketQueue's usage of
std::map attributes to around 0.3% CPU. In profiling, it has been found
that it's the `streams_` map that is the culprit and std::map::find
being the function that is used most.

By using an unordered map, lookups should be faster. This will be
evaluated and if this commit doesn't show results, it will be reverted.

Bug: webrtc:12689
Change-Id: Ia368f1184130298cfbb9064528828435aa7a5c66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/216320
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33848}
2021-04-27 12:55:35 +00:00
..
g3doc Reformat pacer doc and add it into sitemap 2021-04-14 15:02:49 +00:00
bitrate_prober_unittest.cc Allows bitrate prober to discard delayed probes, unit type refactorings 2020-07-17 10:57:44 +00:00
bitrate_prober.cc Makes aborting probes after a > 10ms scheduling timeout the default. 2020-10-22 15:47:45 +00:00
bitrate_prober.h Allows bitrate prober to discard delayed probes, unit type refactorings 2020-07-17 10:57:44 +00:00
BUILD.gn Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
DEPS Replace field trials with WebRtcKeyValueConfig in PacedSender 2019-02-22 13:08:18 +00:00
interval_budget_unittest.cc Make interval budget use ratio instead of percent 2019-06-07 08:53:57 +00:00
interval_budget.cc Fix potential signed overflow in IntervalBudget::set_target_rate_kbps 2019-06-18 15:42:54 +00:00
interval_budget.h Fix potential signed overflow in IntervalBudget::set_target_rate_kbps 2019-06-18 15:42:54 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
paced_sender_unittest.cc Reland "Lets PacingController call PacketRouter directly." 2020-07-01 09:51:00 +00:00
paced_sender.cc Remove old workaround in PacingController 2021-02-24 10:44:42 +00:00
paced_sender.h Fix PacedSender class to use plain mutex, rather than RecursiveCriticalSection 2021-02-09 12:11:25 +00:00
pacing_controller_unittest.cc Makes WebRTC-Pacer-SmallFirstProbePacket default enabled. 2020-10-13 21:45:42 +00:00
pacing_controller.cc Remove old workaround in PacingController 2021-02-24 10:44:42 +00:00
pacing_controller.h Cleans up WebRTC-Pacer-SmallFirstProbePacket flag 2020-12-04 15:34:10 +00:00
packet_router_unittest.cc Reland "Lets PacingController call PacketRouter directly." 2020-07-01 09:51:00 +00:00
packet_router.cc Reland "Reland "Allows FEC generation after pacer step."" 2020-07-03 07:20:06 +00:00
packet_router.h Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
round_robin_packet_queue.cc Fixes issue with non-paced audio send time in dynamic pacer. 2020-04-06 10:41:33 +00:00
round_robin_packet_queue.h Use unordered map in RoundRobinPacketQueue 2021-04-27 12:55:35 +00:00
rtp_packet_pacer.h Reland "Adds trial to use correct overhead calculation in pacer." 2020-01-29 18:45:16 +00:00
task_queue_paced_sender_unittest.cc [Battery]: TaskQueuePacedSender not started by default. 2021-04-12 15:36:46 +00:00
task_queue_paced_sender.cc Ensure TaskQueuePacedSender dont depend on PacketRouter 2021-04-12 06:13:13 +00:00
task_queue_paced_sender.h [Battery]: TaskQueuePacedSender not started by default. 2021-04-12 15:36:46 +00:00