Victor Boivie ac5f2e7203 Use flat_map/flat_set in RtpDemuxer
Except for a use of std::multimap (for which there currently is no
drop-in replacement), use webrtc::flat_map and flat_set for increased
performance.

The number of ssrcs/mids/payload types/etc is likely to be small and is
generally updated very rarely, but looked up a lot.

RtpDemuxer::ResolveSink's use of std::map represents about 0.6% CPU in
heavily loaded media servers. It does quite a few map lookups, and by
taking advantage of the increased cache locality of the flat_map and
flat_set containers, performance should be increased.

A previous attempt to use std::unordered_map failed in change 216243,
which was reverted. This is the second attempt.

Bug: webrtc:12689
Change-Id: Ifdbec63b2fd8f2f52e45ebaf12834b11dd7a41c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224662
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34429}
2021-07-07 08:22:55 +00:00
..
2020-10-02 12:33:34 +00:00
2021-07-07 08:22:55 +00:00
2020-10-02 12:33:34 +00:00
2020-10-19 10:30:03 +00:00
2021-05-29 07:37:33 +00:00