FeatureProvider returns std::map to find Feature* as O(1) |
||
Issue descriptionFrom Dispatcher::UpdateBindingsForContext, api_feature_provider->GetAllFeatureNames() is called and call api_feature_provider->GetFeature(api_name); Because GetAllFeaturenames returns std::vector, Time complexity is O(n) to call GetFeature(api_name). I think we can return std::map to get Feature* as O(1).
,
Mar 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28 commit 8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28 Author: limasdf <limasdf@gmail.com> Date: Tue Mar 08 03:04:15 2016 FeatureProvider returns std::map instead of vector To reduce binding time as much as possible, use std::map(O(1)) instead of std::vector(O(n)). Also, use 'const_iterator' to fix improper usage of 'auto'. BUG= 592537 TEST=Every tests are green. Review URL: https://codereview.chromium.org/1772683002 Cr-Commit-Position: refs/heads/master@{#379711} [modify] https://crrev.com/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28/extensions/common/features/base_feature_provider.cc [modify] https://crrev.com/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28/extensions/common/features/base_feature_provider.h [modify] https://crrev.com/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28/extensions/common/features/feature_provider.h [modify] https://crrev.com/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28/extensions/common/manifest.cc [modify] https://crrev.com/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28/extensions/renderer/api_definitions_natives.cc [modify] https://crrev.com/8477b57a78fa0faf4b0e65c3aaf6cd6f205fee28/extensions/renderer/dispatcher.cc
,
Mar 8 2016
|
||
►
Sign in to add a comment |
||
Comment 1 by lima...@gmail.com
, Mar 7 2016