Commit dd7a886d authored by Alexei Svitkine's avatar Alexei Svitkine Committed by Chromium LUCI CQ

Optimize a couple more code paths in feature params look up code.

Makes GetFieldTrialParamValueByFeature() not do an extra field
trial look up by making it match the GetFieldTrialParamValue()
code path.

Also merges GetFieldTrialParamsWithoutFallback()'s contains and
map access into a single lookup, rather than two.

Bug: 1163921
Change-Id: I602e0ee47f679b143ee1666923b53a2760cae6c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2617470
Auto-Submit: Alexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Ilya Sherman <isherman@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842188}
parent d322167b
......@@ -60,10 +60,11 @@ bool FieldTrialParamAssociator::GetFieldTrialParamsWithoutFallback(
AutoLock scoped_lock(lock_);
const FieldTrialRefKey key(trial_name, group_name);
if (!Contains(field_trial_params_, key))
auto it = field_trial_params_.find(key);
if (it == field_trial_params_.end())
return false;
*params = field_trial_params_[key];
*params = it->second;
return true;
}
......
......@@ -114,14 +114,13 @@ std::string GetFieldTrialParamValue(const std::string& trial_name,
std::string GetFieldTrialParamValueByFeature(const Feature& feature,
const std::string& param_name) {
if (!FeatureList::IsEnabled(feature))
return std::string();
FieldTrial* trial = FeatureList::GetFieldTrial(feature);
if (!trial)
FieldTrialParams params;
if (GetFieldTrialParamsByFeature(feature, &params)) {
auto it = params.find(param_name);
if (it != params.end())
return it->second;
}
return std::string();
return GetFieldTrialParamValue(trial->trial_name(), param_name);
}
int GetFieldTrialParamByFeatureAsInt(const Feature& feature,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment