diff options
author | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2025-04-28 09:37:00 +0100 |
---|---|---|
committer | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2025-04-28 09:37:00 +0100 |
commit | 0adc6ba15c8a44b23bfe7477ea94a746536329d7 (patch) | |
tree | a40404a3ceee30a863d0cc96c3713c5fd5f9402c /test/perf-instancing.cpp | |
parent | Fix all warnings in enumeration details code/tests (diff) | |
download | ilt-0adc6ba15c8a44b23bfe7477ea94a746536329d7.tar.bz2 ilt-0adc6ba15c8a44b23bfe7477ea94a746536329d7.tar.xz ilt-0adc6ba15c8a44b23bfe7477ea94a746536329d7.zip |
Fix all warnings in performance tests
Diffstat (limited to 'test/perf-instancing.cpp')
-rw-r--r-- | test/perf-instancing.cpp | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/test/perf-instancing.cpp b/test/perf-instancing.cpp index 3638111..a56d60e 100644 --- a/test/perf-instancing.cpp +++ b/test/perf-instancing.cpp @@ -3,38 +3,41 @@ #include <benchmark/benchmark.h> #include <random> -struct Instance { - GlobalPosition3D pos; - glm::mat3 rot; -}; +namespace { + struct Instance { + GlobalPosition3D pos; + glm::mat3 rot; + }; -struct data { - explicit data(size_t n) - { - std::mt19937 gen(std::random_device {}()); - std::uniform_int_distribution<GlobalDistance> xy(0, 1000000); - std::uniform_int_distribution<GlobalDistance> z(0, 10000); - while (n--) { - proxies.emplace_back(instances.acquire(GlobalPosition3D {xy(gen), xy(gen), z(gen)}, glm::mat3 {})); + struct Data { + explicit Data(size_t n) + { + std::mt19937 gen(std::random_device {}()); + std::uniform_int_distribution<GlobalDistance> xyDistrib(0, 1000000); + std::uniform_int_distribution<GlobalDistance> zDistrib(0, 10000); + while (n--) { + proxies.emplace_back(instances.acquire( + GlobalPosition3D {xyDistrib(gen), xyDistrib(gen), zDistrib(gen)}, glm::mat3 {})); + } } - } - InstanceVertices<Instance> instances; - std::vector<InstanceVertices<Instance>::InstanceProxy> proxies; -}; + InstanceVertices<Instance> instances; + std::vector<InstanceVertices<Instance>::InstanceProxy> proxies; + }; -static void -partition(benchmark::State & state) -{ - TestMainWindowAppBase window; - data d(static_cast<size_t>(state.range())); - GlobalPosition2D pos {}; - for (auto _ : state) { - d.instances.partition([&pos](const auto & i) { - return std::abs(i.pos.x - pos.x) < 5 && std::abs(i.pos.y - pos.y) < 5; - }); - pos += GlobalPosition2D {33, 17}; - pos %= 1000000; + void + partition(benchmark::State & state) + { + TestMainWindowAppBase window; + Data data(static_cast<size_t>(state.range())); + GlobalPosition2D pos {}; + for (auto loop : state) { + data.instances.partition([&pos](const auto & instance) { + return std::abs(instance.pos.x - pos.x) < 5 && std::abs(instance.pos.y - pos.y) < 5; + }); + pos += GlobalPosition2D {33, 17}; + pos %= 1000000; + } } } |