Skip to content

Commit 154e215

Browse files
committed
Remove accidental changes in 651fcb5
1 parent 8c1a20f commit 154e215

File tree

1 file changed

+15
-27
lines changed

1 file changed

+15
-27
lines changed

source/containers/test/sort/sort_benchmark.cpp

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,26 @@ auto DoNotOptimize(auto && value) -> void {
2121
benchmark::DoNotOptimize(value);
2222
}
2323

24-
25-
2624
template<std::size_t size>
2725
struct data {
28-
constexpr explicit data(unsigned value):
29-
m(std::bit_cast<array_t>(value))
30-
{
26+
constexpr explicit data(unsigned value) {
27+
for (auto const n : containers::integer_range(bounded::constant<size>)) {
28+
m[n] = static_cast<std::uint8_t>(value);
29+
}
3130
}
3231
friend constexpr auto operator<=>(data const & lhs, data const & rhs) = default;
33-
using array_t = containers::array<std::uint8_t, bounded::constant<size>>;
34-
array_t m;
32+
containers::array<std::uint8_t, bounded::constant<size>> m;
3533
};
3634

37-
template<std::size_t data_size, auto function>
38-
auto benchmark_impl(benchmark::State & state) -> void {
35+
template<std::size_t data_size>
36+
auto benchmark_impl(benchmark::State & state, auto function) -> void {
3937
auto engine = std::mt19937(std::random_device()());
4038
auto value_distribution = std::uniform_int_distribution<unsigned>();
4139
using container_t = containers::vector<data<data_size>>;
40+
auto container = container_t();
4241
using size_type = containers::range_size_t<container_t>;
4342
auto const size = bounded::assume_in_range<size_type>(state.range(0));
44-
auto container = container_t();
45-
containers::resize(container, size);
43+
container.reserve(size);
4644

4745
for (auto _ : state) {
4846
containers::copy(
@@ -60,10 +58,9 @@ auto benchmark_impl(benchmark::State & state) -> void {
6058
}
6159
}
6260

63-
#if 0
6461
template<std::size_t data_size>
6562
auto benchmark_chunked_insertion_sort(benchmark::State & state) -> void {
66-
benchmark_impl<data_size>(state, containers::chunked_insertion_sort);
63+
benchmark_impl<data_size>(state, [](auto & range) { return containers::chunked_insertion_sort(range); });
6764
}
6865

6966
template<std::size_t data_size>
@@ -76,8 +73,6 @@ auto benchmark_standard(benchmark::State & state) -> void {
7673
benchmark_impl<data_size>(state, containers::sort);
7774
}
7875

79-
#endif
80-
8176
constexpr auto insertion_sort = [](containers::range auto && r) -> void {
8277
auto const first = containers::begin(r);
8378
auto const last = containers::end(r);
@@ -92,28 +87,21 @@ constexpr auto insertion_sort = [](containers::range auto && r) -> void {
9287
}
9388
};
9489

95-
#if 0
96-
9790
template<std::size_t data_size>
9891
auto benchmark_insertion_sort(benchmark::State & state) -> void {
9992
benchmark_impl<data_size>(state, insertion_sort);
10093
}
10194

102-
#endif
103-
104-
using containers::chunked_insertion_sort;
105-
using containers::new_sort;
106-
using containers::sort;
10795
#define BENCHMARK_ALL(data_size) \
108-
BENCHMARK(benchmark_impl<data_size, insertion_sort>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128); \
109-
BENCHMARK(benchmark_impl<data_size, chunked_insertion_sort>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128); \
110-
BENCHMARK(benchmark_impl<data_size, new_sort>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128); \
111-
BENCHMARK(benchmark_impl<data_size, sort>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128)
96+
BENCHMARK(benchmark_insertion_sort<data_size>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128); \
97+
BENCHMARK(benchmark_chunked_insertion_sort<data_size>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128); \
98+
BENCHMARK(benchmark_mine<data_size>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128); \
99+
BENCHMARK(benchmark_standard<data_size>)->DenseRange(1, 5, 1)->Arg(16)->Arg(25)->Arg(64)->Arg(128)
112100

113101
BENCHMARK_ALL(1);
114102
BENCHMARK_ALL(4);
115103
BENCHMARK_ALL(8);
116104
BENCHMARK_ALL(64);
117105
BENCHMARK_ALL(65);
118106

119-
} // namespace
107+
} // namespace

0 commit comments

Comments
 (0)