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

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

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