Make fewer copies when using StringBuilder.
Replace calls to .str() which copies with .Release which moves in cases where that's safe.
This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"
Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
diff --git a/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc b/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
index 7169965..3d583e8 100644
--- a/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
+++ b/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
@@ -43,7 +43,7 @@
std::string ProduceDebugText(size_t delay) {
rtc::StringBuilder ss;
ss << ", Delay: " << delay;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/block_framer_unittest.cc b/modules/audio_processing/aec3/block_framer_unittest.cc
index 3f4122f..9baade9 100644
--- a/modules/audio_processing/aec3/block_framer_unittest.cc
+++ b/modules/audio_processing/aec3/block_framer_unittest.cc
@@ -161,7 +161,7 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/block_processor_unittest.cc b/modules/audio_processing/aec3/block_processor_unittest.cc
index fbe1973..7145786 100644
--- a/modules/audio_processing/aec3/block_processor_unittest.cc
+++ b/modules/audio_processing/aec3/block_processor_unittest.cc
@@ -95,7 +95,7 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/decimator_unittest.cc b/modules/audio_processing/aec3/decimator_unittest.cc
index 0c230d0..08dc428 100644
--- a/modules/audio_processing/aec3/decimator_unittest.cc
+++ b/modules/audio_processing/aec3/decimator_unittest.cc
@@ -28,7 +28,7 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
constexpr size_t kDownSamplingFactors[] = {2, 4, 8};
diff --git a/modules/audio_processing/aec3/echo_canceller3_unittest.cc b/modules/audio_processing/aec3/echo_canceller3_unittest.cc
index 8cc6d5b..3f1e059 100644
--- a/modules/audio_processing/aec3/echo_canceller3_unittest.cc
+++ b/modules/audio_processing/aec3/echo_canceller3_unittest.cc
@@ -606,13 +606,13 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
std::string ProduceDebugText(int sample_rate_hz, int variant) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz << ", variant: " << variant;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/echo_path_delay_estimator_unittest.cc b/modules/audio_processing/aec3/echo_path_delay_estimator_unittest.cc
index 5764d1c..311a4a2 100644
--- a/modules/audio_processing/aec3/echo_path_delay_estimator_unittest.cc
+++ b/modules/audio_processing/aec3/echo_path_delay_estimator_unittest.cc
@@ -29,7 +29,7 @@
rtc::StringBuilder ss;
ss << "Delay: " << delay;
ss << ", Down sampling factor: " << down_sampling_factor;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/echo_remover_unittest.cc b/modules/audio_processing/aec3/echo_remover_unittest.cc
index 9a246ed..da03f4c 100644
--- a/modules/audio_processing/aec3/echo_remover_unittest.cc
+++ b/modules/audio_processing/aec3/echo_remover_unittest.cc
@@ -30,13 +30,13 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
std::string ProduceDebugText(int sample_rate_hz, int delay) {
rtc::StringBuilder ss(ProduceDebugText(sample_rate_hz));
ss << ", Delay: " << delay;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/frame_blocker_unittest.cc b/modules/audio_processing/aec3/frame_blocker_unittest.cc
index 1fb7601..3ec74cc 100644
--- a/modules/audio_processing/aec3/frame_blocker_unittest.cc
+++ b/modules/audio_processing/aec3/frame_blocker_unittest.cc
@@ -230,7 +230,7 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc b/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
index 6dbf69f..8c44ae0 100644
--- a/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
+++ b/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
@@ -177,14 +177,14 @@
std::string ProduceDebugText(int filter_length_blocks) {
rtc::StringBuilder ss;
ss << "Length: " << filter_length_blocks;
- return ss.str();
+ return ss.Release();
}
std::string ProduceDebugText(size_t delay, int filter_length_blocks) {
rtc::StringBuilder ss;
ss << "Delay: " << delay << ", ";
ss << ProduceDebugText(filter_length_blocks);
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/matched_filter_unittest.cc b/modules/audio_processing/aec3/matched_filter_unittest.cc
index 4353003..16b603a 100644
--- a/modules/audio_processing/aec3/matched_filter_unittest.cc
+++ b/modules/audio_processing/aec3/matched_filter_unittest.cc
@@ -37,7 +37,7 @@
rtc::StringBuilder ss;
ss << "Delay: " << delay;
ss << ", Down sampling factor: " << down_sampling_factor;
- return ss.str();
+ return ss.Release();
}
constexpr size_t kNumMatchedFilters = 10;
diff --git a/modules/audio_processing/aec3/render_delay_buffer_unittest.cc b/modules/audio_processing/aec3/render_delay_buffer_unittest.cc
index 29df28c..ee89597 100644
--- a/modules/audio_processing/aec3/render_delay_buffer_unittest.cc
+++ b/modules/audio_processing/aec3/render_delay_buffer_unittest.cc
@@ -27,7 +27,7 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/render_delay_controller_unittest.cc b/modules/audio_processing/aec3/render_delay_controller_unittest.cc
index 4486d1be..93c6499 100644
--- a/modules/audio_processing/aec3/render_delay_controller_unittest.cc
+++ b/modules/audio_processing/aec3/render_delay_controller_unittest.cc
@@ -31,13 +31,13 @@
std::string ProduceDebugText(int sample_rate_hz) {
rtc::StringBuilder ss;
ss << "Sample rate: " << sample_rate_hz;
- return ss.str();
+ return ss.Release();
}
std::string ProduceDebugText(int sample_rate_hz, size_t delay) {
rtc::StringBuilder ss;
ss << ProduceDebugText(sample_rate_hz) << ", Delay: " << delay;
- return ss.str();
+ return ss.Release();
}
constexpr size_t kDownSamplingFactors[] = {2, 4, 8};
diff --git a/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc b/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
index d363689..c040bbf 100644
--- a/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
+++ b/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
@@ -118,14 +118,14 @@
std::string ProduceDebugText(int filter_length_blocks) {
rtc::StringBuilder ss;
ss << "Length: " << filter_length_blocks;
- return ss.str();
+ return ss.Release();
}
std::string ProduceDebugText(size_t delay, int filter_length_blocks) {
rtc::StringBuilder ss;
ss << "Delay: " << delay << ", ";
ss << ProduceDebugText(filter_length_blocks);
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/aec3/subtractor_unittest.cc b/modules/audio_processing/aec3/subtractor_unittest.cc
index b308d38..ba744a6 100644
--- a/modules/audio_processing/aec3/subtractor_unittest.cc
+++ b/modules/audio_processing/aec3/subtractor_unittest.cc
@@ -106,7 +106,7 @@
rtc::StringBuilder ss;
ss << "Delay: " << delay << ", ";
ss << "Length: " << filter_length_blocks;
- return ss.str();
+ return ss.Release();
}
} // namespace
diff --git a/modules/audio_processing/gain_controller2.cc b/modules/audio_processing/gain_controller2.cc
index 6368e92..4d7cc1c 100644
--- a/modules/audio_processing/gain_controller2.cc
+++ b/modules/audio_processing/gain_controller2.cc
@@ -73,7 +73,7 @@
rtc::StringBuilder ss;
ss << "{enabled: " << (config.enabled ? "true" : "false") << ", "
<< "fixed_gain_dB: " << config.fixed_gain_db << "}";
- return ss.str();
+ return ss.Release();
}
} // namespace webrtc
diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc
index e8519f2..4ac92ee 100644
--- a/modules/audio_processing/test/audio_processing_simulator.cc
+++ b/modules/audio_processing/test/audio_processing_simulator.cc
@@ -644,7 +644,7 @@
rtc::StringBuilder ss;
ss << wav_name.substr(0, wav_name.size() - 4) << "_" << counter
<< wav_name.substr(wav_name.size() - 4);
- return ss.str();
+ return ss.Release();
}
void WriteEchoLikelihoodGraphFileHeader(std::ofstream* output_file) {
diff --git a/modules/audio_processing/test/fake_recording_device_unittest.cc b/modules/audio_processing/test/fake_recording_device_unittest.cc
index 484972c..a14da82 100644
--- a/modules/audio_processing/test/fake_recording_device_unittest.cc
+++ b/modules/audio_processing/test/fake_recording_device_unittest.cc
@@ -100,13 +100,13 @@
std::string FakeRecordingDeviceKindToString(int fake_rec_device_kind) {
rtc::StringBuilder ss;
ss << "fake recording device: " << fake_rec_device_kind;
- return ss.str();
+ return ss.Release();
}
std::string AnalogLevelToString(int level) {
rtc::StringBuilder ss;
ss << "analog level: " << level;
- return ss.str();
+ return ss.Release();
}
} // namespace