diff --git a/flow/IndexedSet.cpp b/flow/IndexedSet.cpp index 4c646fc38f..2065fabac0 100644 --- a/flow/IndexedSet.cpp +++ b/flow/IndexedSet.cpp @@ -252,6 +252,8 @@ TEST_CASE("performance/map/int/StdMap") { } TEST_CASE("performance/flow/IndexedSet/integers") { + std::mt19937_64 urng(deterministicRandom()->randomUInt32()); + std::vector x; for (int i = 0; i<1000000; i++) x.push_back(deterministicRandom()->randomInt(0, 10000000)); @@ -306,7 +308,7 @@ TEST_CASE("performance/flow/IndexedSet/integers") { is.testonly_assertBalanced(); - std::random_shuffle(x.begin(), x.end()); + std::shuffle(x.begin(), x.end(), urng); start = timer(); for (int i = 0; i struct opTimer { double start = timer(); @@ -78,6 +79,8 @@ struct MapHarness { template void treeBenchmark(T& tree, F generateKey) { + std::mt19937_64 urng(deterministicRandom()->randomUInt32()); + using key = typename T::key_type; int keyCount = 1000000; @@ -105,7 +108,7 @@ void treeBenchmark(T& tree, F generateKey) { timedRun("find (sorted)", keys, [&tree](key const& k) { ASSERT(tree.find(k) != tree.end()); }); - std::random_shuffle(keys.begin(), keys.end()); + std::shuffle(keys.begin(), keys.end(), urng); timedRun("erase", keys, [&tree](key const& k) { tree.erase(k); }); ASSERT(tree.begin() == tree.end());