From cbdeb427712297470b6159d8f142719057f6f75c 2017-09-06 21:37:08 From: Alexis Jeandet Date: 2017-09-06 21:37:08 Subject: [PATCH] Perf improvement on vector points interleaving. Signed-off-by: Alexis Jeandet --- diff --git a/core/src/Data/VectorSeries.cpp b/core/src/Data/VectorSeries.cpp index 879d689..a51b0cc 100644 --- a/core/src/Data/VectorSeries.cpp +++ b/core/src/Data/VectorSeries.cpp @@ -29,13 +29,11 @@ std::vector flatten(std::vector xValues, std::vector yVa auto result = std::vector(); result.reserve(xValues.size() * 3); - - while (!xValues.empty()) { - result.insert(result.cend(), {xValues.front(), yValues.front(), zValues.front()}); - xValues.erase(xValues.begin()); - yValues.erase(yValues.begin()); - zValues.erase(zValues.begin()); - } + for (int i = 0; i < xValues.size(); i++) { + result.push_back(xValues[i]); + result.push_back(yValues[i]); + result.push_back(zValues[i]); + } return result; }