From eeb0661f0671c3ff2c4fb9ce8da14d12ff788ef2 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 16 Oct 2017 09:42:48 +0200 Subject: Share variance/maxDifference implementation --- tests/CMakeLists.txt | 2 +- .../databasepopulationandfacadequerybenchmark.cpp | 32 +----------------- tests/dummyresourcewritebenchmark.cpp | 35 +------------------- tests/utils.cpp | 38 ++++++++++++++++++++++ tests/utils.h | 7 ++++ 5 files changed, 48 insertions(+), 66 deletions(-) create mode 100644 tests/utils.cpp create mode 100644 tests/utils.h (limited to 'tests') diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6a757ca..e957f22 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -13,7 +13,7 @@ add_definitions(-DTHREADTESTDATAPATH="${CMAKE_CURRENT_SOURCE_DIR}/threaddata") find_package(KF5 COMPONENTS REQUIRED Mime) -add_library(sink_test SHARED testimplementations.cpp getrssusage.cpp mailtest.cpp mailsynctest.cpp mailthreadtest.cpp) +add_library(sink_test SHARED testimplementations.cpp getrssusage.cpp mailtest.cpp mailsynctest.cpp mailthreadtest.cpp utils.cpp) target_link_libraries(sink_test sink libhawd diff --git a/tests/databasepopulationandfacadequerybenchmark.cpp b/tests/databasepopulationandfacadequerybenchmark.cpp index 58b6561..f965dd6 100644 --- a/tests/databasepopulationandfacadequerybenchmark.cpp +++ b/tests/databasepopulationandfacadequerybenchmark.cpp @@ -16,10 +16,10 @@ #include "hawd/formatter.h" #include -#include #include "event_generated.h" #include "getrssusage.h" +#include "utils.h" /** * Benchmark read performance of the facade implementation. @@ -188,36 +188,6 @@ private slots: // testLoad(10000); // } - static double variance(const QList &values) - { - double mean = 0; - for (auto value : values) { - mean += value; - } - mean = mean / static_cast(values.size()); - double variance = 0; - for (auto value : values) { - variance += pow(static_cast(value) - mean, 2); - } - variance = variance / static_cast(values.size() - 1); - return variance; - } - - static double maxDifference(const QList &values) - { - auto max = values.first(); - auto min = values.first(); - for (auto value : values) { - if (value > max) { - max = value; - } - if (value < min) { - min = value; - } - } - return max - min; - } - void ensureUsedMemoryRemainsStable() { auto rssStandardDeviation = sqrt(variance(mRssGrowthPerEntity)); diff --git a/tests/dummyresourcewritebenchmark.cpp b/tests/dummyresourcewritebenchmark.cpp index c350b1a..9815f96 100644 --- a/tests/dummyresourcewritebenchmark.cpp +++ b/tests/dummyresourcewritebenchmark.cpp @@ -24,40 +24,7 @@ #include "createentity_generated.h" #include "getrssusage.h" - -static double variance(const QList &values) -{ - //The variance of a single value is 0 - if (values.size() == 1) { - return 0; - } - double mean = 0; - for (auto value : values) { - mean += value; - } - mean = mean / static_cast(values.size()); - double variance = 0; - for (auto value : values) { - variance += pow(static_cast(value) - mean, 2); - } - variance = variance / static_cast(values.size() - 1); - return variance; -} - -static double maxDifference(const QList &values) -{ - auto max = values.first(); - auto min = values.first(); - for (auto value : values) { - if (value > max) { - max = value; - } - if (value < min) { - min = value; - } - } - return max - min; -} +#include "utils.h" static QByteArray createEntityBuffer(int &bufferSize) { diff --git a/tests/utils.cpp b/tests/utils.cpp new file mode 100644 index 0000000..dfaab17 --- /dev/null +++ b/tests/utils.cpp @@ -0,0 +1,38 @@ +#include "utils.h" + +#include +#include + +double variance(const QList &values) +{ + //The variance of a single value is 0 + if (values.size() == 1) { + return 0; + } + double mean = 0; + for (auto value : values) { + mean += value; + } + mean = mean / static_cast(values.size()); + double variance = 0; + for (auto value : values) { + variance += pow(static_cast(value) - mean, 2); + } + variance = variance / static_cast(values.size() - 1); + return variance; +} + +double maxDifference(const QList &values) +{ + auto max = values.first(); + auto min = values.first(); + for (auto value : values) { + if (value > max) { + max = value; + } + if (value < min) { + min = value; + } + } + return max - min; +} diff --git a/tests/utils.h b/tests/utils.h new file mode 100644 index 0000000..45c1409 --- /dev/null +++ b/tests/utils.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +double variance(const QList &values); +double maxDifference(const QList &values); + -- cgit v1.2.3