Skip to content

Commit 4eef486

Browse files
nafi3000copybara-github
authored andcommitted
Optimize google::api::expr::Unparse by removing unnecessary map copying.
`auto var = FunctionReturningConstRef();` causes a copy while `const auto& var = FunctionReturningConstRef();` does not cause any copies. Example: https://godbolt.org/z/37hETqc3q PiperOrigin-RevId: 839669874
1 parent e6d4a23 commit 4eef486

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

common/operators.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ const absl::string_view CelOperator::OPT_INDEX = "_[?_]";
166166
const absl::string_view CelOperator::OPT_SELECT = "_?._";
167167

168168
int LookupPrecedence(const std::string& op) {
169-
auto precs = Precedences();
169+
const auto& precs = Precedences();
170170
auto p = precs.find(op);
171171
if (p != precs.end()) {
172172
return p->second;
@@ -175,7 +175,7 @@ int LookupPrecedence(const std::string& op) {
175175
}
176176

177177
absl::optional<std::string> LookupUnaryOperator(const std::string& op) {
178-
auto unary_ops = UnaryOperators();
178+
const auto& unary_ops = UnaryOperators();
179179
auto o = unary_ops.find(op);
180180
if (o == unary_ops.end()) {
181181
return absl::optional<std::string>();
@@ -184,7 +184,7 @@ absl::optional<std::string> LookupUnaryOperator(const std::string& op) {
184184
}
185185

186186
absl::optional<std::string> LookupBinaryOperator(const std::string& op) {
187-
auto bin_ops = BinaryOperators();
187+
const auto& bin_ops = BinaryOperators();
188188
auto o = bin_ops.find(op);
189189
if (o == bin_ops.end()) {
190190
return absl::optional<std::string>();
@@ -193,7 +193,7 @@ absl::optional<std::string> LookupBinaryOperator(const std::string& op) {
193193
}
194194

195195
absl::optional<std::string> LookupOperator(const std::string& op) {
196-
auto ops = Operators();
196+
const auto& ops = Operators();
197197
auto o = ops.find(op);
198198
if (o == ops.end()) {
199199
return absl::optional<std::string>();
@@ -202,7 +202,7 @@ absl::optional<std::string> LookupOperator(const std::string& op) {
202202
}
203203

204204
absl::optional<std::string> ReverseLookupOperator(const std::string& op) {
205-
auto rev_ops = ReverseOperators();
205+
const auto& rev_ops = ReverseOperators();
206206
auto o = rev_ops.find(op);
207207
if (o == rev_ops.end()) {
208208
return absl::optional<std::string>();

0 commit comments

Comments
 (0)