未验证 提交 0236771e 编写于 作者: G gouzil 提交者: GitHub

[clang-tidy] enable performance-inefficient-string-concatenation check (#56647)

上级 a694e679
......@@ -192,7 +192,7 @@ performance-faster-string-find,
-performance-for-range-copy,
-performance-implicit-conversion-in-loop,
-performance-inefficient-algorithm,
-performance-inefficient-string-concatenation,
performance-inefficient-string-concatenation,
-performance-inefficient-vector-operation,
-performance-move-const-arg,
-performance-move-constructor-init,
......
......@@ -95,8 +95,14 @@ void FuseOptimizerOpPass::ApplyImpl(ir::Graph *graph) const {
const std::string prefix(details::kFusedVarNamePrefix);
for (auto &var_name : aux_var_names) {
// NOTE: the fused_var_name should be unique.
auto fused_var_name = prefix + "_" + fuse_op_type + "_" + var_name + "_" +
aux_var_map[var_name][0];
std::string fused_var_name;
fused_var_name.append(prefix)
.append("_")
.append(fuse_op_type)
.append("_")
.append(var_name)
.append("_")
.append(aux_var_map[var_name][0]);
VLOG(6) << var_name << ": " << fused_var_name;
PADDLE_ENFORCE_EQ(
fused_var_set.count(fused_var_name),
......
......@@ -157,7 +157,7 @@ void WordPieceTokenizer::Tokenize(const wstring& text,
while (start < end) {
std::wstring sub = text.substr(start, end - start);
if (start > 0) {
sub = L"##" + sub;
sub.insert(0, L"##");
}
auto it = vocab_->find(sub);
if (it != vocab_->end()) {
......
......@@ -815,7 +815,7 @@ std::string OpName(const framework::VariableNameMap &name_map,
for (const auto &map_item : name_map) {
auto name_outputs = map_item.second;
if (!name_outputs.empty()) {
ret = ret + name_outputs[0];
ret.append(name_outputs[0]);
break;
}
}
......@@ -906,7 +906,8 @@ static void EmulateEventPushAndPop(
evt_stk.push(iter->second);
std::string prefix = thr_evts[iter->second].name;
if (!prefix_stk.empty()) {
prefix = prefix_stk.top() + "/" + prefix;
// prefix = prefix_stk.top() + "/" + prefix;
prefix.insert(0, "/").insert(0, prefix_stk.top());
}
prefix_stk.push(prefix);
}
......
......@@ -56,30 +56,28 @@ int main(int argc, char **argv) { // NOLINT
}
}
if (kernel_signature_map.Has(op_name)) {
kernel_signature_map_str =
kernel_signature_map_str + "\"" + op_kernel_pair.first + "\":{";
kernel_signature_map_str.append("\"")
.append(op_kernel_pair.first)
.append("\":{");
const auto &args = kernel_signature_map.Get(op_name);
kernel_signature_map_str += "\"inputs\":[";
auto inputs_ = args.input_names;
for (size_t i = 0; i < inputs_.size(); i++) {
kernel_signature_map_str =
kernel_signature_map_str + "\"" + inputs_[i] + "\",";
kernel_signature_map_str.append("\"").append(inputs_[i]).append("\",");
}
if (!inputs_.empty()) kernel_signature_map_str.pop_back();
kernel_signature_map_str += "],\"attrs\":[";
auto attrs_ = args.attr_names;
for (size_t i = 0; i < attrs_.size(); i++) {
kernel_signature_map_str =
kernel_signature_map_str + "\"" + attrs_[i] + "\",";
kernel_signature_map_str.append("\"").append(attrs_[i]).append("\",");
}
if (!attrs_.empty()) kernel_signature_map_str.pop_back();
kernel_signature_map_str += "],\"outputs\":[";
auto outputs_ = args.output_names;
for (size_t i = 0; i < outputs_.size(); i++) {
kernel_signature_map_str =
kernel_signature_map_str + "\"" + outputs_[i] + "\",";
kernel_signature_map_str.append("\"").append(outputs_[i]).append("\",");
}
if (!outputs_.empty()) kernel_signature_map_str.pop_back();
......
......@@ -717,7 +717,8 @@ std::vector<std::string> ListAllLibraries(const std::string& library_dir) {
std::string filename(ptr->d_name);
if (std::regex_match(
filename.begin(), filename.end(), results, express)) {
libraries.push_back(library_dir + '/' + filename);
libraries.push_back(
std::string(library_dir).append("/").append(filename));
VLOG(4) << "Found lib: " << libraries.back();
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册