From 242e3a7fdb8ca249335a693e83eb4faf3f3542ec Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 2 Oct 2023 22:11:28 +0200 Subject: Micro-optimizations. --- src/leqm_nrt.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/leqm_nrt.cc b/src/leqm_nrt.cc index 469890c..f170901 100644 --- a/src/leqm_nrt.cc +++ b/src/leqm_nrt.cc @@ -65,13 +65,15 @@ void worker_thread(std::vector& buffer, int nsamples, int nch, std::vect }; auto convolve = [](std::vector const& signal, std::vector const& ir) { - std::vector result(signal.size()); + auto const signal_size = signal.size(); + auto const ir_size = ir.size(); + std::vector result(signal_size); double sum = 0.0; - for (auto i = 0U; i < signal.size(); i++) { + for (auto i = 0U; i < signal_size; i++) { auto m = i; - for (int l = ir.size()- 1; l >= 0; l--, m++) { - if (m >= signal.size()) { - m -= signal.size(); + for (int l = ir_size - 1; l >= 0; l--, m++) { + if (m >= signal_size) { + m -= signal_size; } sum += signal[m] * ir[l]; } @@ -82,9 +84,9 @@ void worker_thread(std::vector& buffer, int nsamples, int nch, std::vect }; auto rectify = [](std::vector const& input) { - std::vector squared; - for (auto i: input) { - squared.push_back(pow(i, 2)); + std::vector squared(input.size()); + for (auto i = 0U; i < input.size(); ++i) { + squared[i] = pow(input[i], 2); } return squared; }; -- cgit v1.2.3