Skip to content
This repository was archived by the owner on Dec 26, 2023. It is now read-only.

Commit c268af0

Browse files
committed
updated xy brute force test
1 parent a22cb29 commit c268af0

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

src/scripts/test_all.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ function build() {
3535

3636
build "g++-4.9" "11" "OFF" "-m32"
3737
build "g++-4.9" "14" "OFF" "-m32"
38-
build "clang++-6" "20" "OFF"
38+
#build "clang++-6" "20" "OFF"
3939
build "clang++" "20" "ON"
4040

4141

src/test/unit/unit_xy.cpp

+33-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,41 @@
99
namespace {
1010

1111
inline uint32_t modify(uint32_t x) {
12-
return x;
12+
return robin_hood::detail::rotr(x, 16U);
1313
}
1414

1515
} // namespace
1616

17-
TEST_CASE("xy" * doctest::skip()) {
17+
TEST_CASE("fill_x" * doctest::skip()) {
18+
std::cout << "fill_x" << std::endl;
19+
robin_hood::unordered_flat_set<uint32_t> data;
20+
21+
// fill up with ever increasing xy data
22+
uint32_t x = 0;
23+
uint32_t y = 0;
24+
25+
auto begin = std::chrono::steady_clock::now();
26+
size_t oldMask = 0;
27+
while (data.size() < 500000000) {
28+
data.insert(modify(x++));
29+
30+
if (data.mask() != oldMask) {
31+
auto end = std::chrono::steady_clock::now();
32+
std::cout << std::setw(15) << std::chrono::nanoseconds(end - begin).count()
33+
<< " ns: " << data.size() << " " << (data.mask() + 1) << " " << x << " " << y
34+
<< std::endl;
35+
36+
oldMask = data.mask();
37+
}
38+
}
39+
auto end = std::chrono::steady_clock::now();
40+
std::cout << std::setw(15) << std::chrono::nanoseconds(end - begin).count()
41+
<< " ns: " << data.size() << " " << (data.mask() + 1) << " " << x << " " << y
42+
<< std::endl;
43+
}
44+
45+
TEST_CASE("fill_xy" * doctest::skip()) {
46+
std::cout << "fill_xy" << std::endl;
1847
robin_hood::unordered_flat_set<uint32_t> data;
1948

2049
// fill up with ever increasing xy data
@@ -49,7 +78,8 @@ TEST_CASE("xy" * doctest::skip()) {
4978
<< std::endl;
5079
}
5180

52-
TEST_CASE("xyz" * doctest::skip()) {
81+
TEST_CASE("fill_xyz" * doctest::skip()) {
82+
std::cout << "fill_xyz" << std::endl;
5383
robin_hood::unordered_flat_set<uint32_t> data;
5484

5585
// fill up with ever increasing xy data

0 commit comments

Comments
 (0)