|
5 | 5 |
|
6 | 6 | #include <operators/forward.hpp>
|
7 | 7 |
|
| 8 | +import containers.algorithms.generate; |
8 | 9 | import containers.algorithms.keyed_insert;
|
9 | 10 | import containers.begin_end;
|
10 |
| -import containers.emplace_back; |
11 | 11 | import containers.extract_key_to_less;
|
12 | 12 | import containers.flat_map;
|
13 | 13 | import containers.map_value_type;
|
@@ -130,16 +130,12 @@ auto ignore(auto &&) -> void {
|
130 | 130 |
|
131 | 131 | template<std::size_t key_size, std::size_t value_size>
|
132 | 132 | void test_performance(std::size_t const loop_count) {
|
133 |
| - auto const generator = [](std::size_t size) { |
134 |
| - static std::mt19937 engine(0); |
135 |
| - static std::uniform_int_distribution<std::uint32_t> distribution; |
136 |
| - using container_type = containers::vector<value_type<Thing<key_size>, Thing<value_size>>>; |
137 |
| - auto source = container_type(); |
138 |
| - source.reserve(bounded::check_in_range<containers::range_size_t<container_type>>(bounded::integer(size))); |
139 |
| - for (std::size_t n = 0; n != size; ++n) { |
140 |
| - ::containers::emplace_back(source, distribution(engine), distribution(engine)); |
141 |
| - } |
142 |
| - return source; |
| 133 | + auto engine = std::mt19937(0); |
| 134 | + auto distribution = std::uniform_int_distribution<std::uint32_t>(); |
| 135 | + auto const generator = [&](std::size_t const size) { |
| 136 | + return containers::vector(containers::generate_n(size, [&] { |
| 137 | + return value_type<Thing<key_size>, Thing<value_size>>(distribution(engine), distribution(engine)); |
| 138 | + })); |
143 | 139 | };
|
144 | 140 |
|
145 | 141 | auto const source = generator(loop_count);
|
|
0 commit comments