From abd951a92bc2f150a281f07d5ddc44fd45cebaa4 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 29 May 2020 13:39:05 +0200 Subject: [PATCH] Revert and amend the benchmark correction --- benchmarks/BM_interpolators.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/benchmarks/BM_interpolators.cpp b/benchmarks/BM_interpolators.cpp index 6fab4df9..77337576 100644 --- a/benchmarks/BM_interpolators.cpp +++ b/benchmarks/BM_interpolators.cpp @@ -20,13 +20,13 @@ public: std::uniform_real_distribution dist { -1.0f, 1.0f }; const size_t numFramesIn = state.range(0); - inputBuffer = std::vector(numFramesIn + excessFrames); + inputBuffer = std::vector(numFramesIn + 2 * sfz::config::excessFileFrames); // any ratio will do, compute time will be proportional static constexpr float ratio = 1.234; const size_t numFramesOut = static_cast(std::ceil(numFramesIn * ratio)); - input = absl::MakeSpan(inputBuffer.data(), numFramesIn); + input = absl::MakeSpan(inputBuffer).subspan(sfz::config::excessFileFrames, numFramesIn); output = std::vector(numFramesOut); std::generate(input.begin(), input.end(), [&]() { return dist(gen); }); } @@ -47,8 +47,7 @@ static void doInterpolation(absl::Span input, absl::Span out { const float kOutToIn = static_cast(input.size()) / output.size(); - for (size_t iOut = sfz::config::excessFileFrames; - iOut < output.size() - sfz::config::excessFileFrames; ++iOut) { + for (size_t iOut = 0; iOut < output.size(); ++iOut) { float posIn = iOut * kOutToIn; unsigned dec = static_cast(posIn); float frac = posIn - dec;