From 0fe48402ec374fc7cf37dbab2ecf96e878bdeb20 Mon Sep 17 00:00:00 2001 From: greg Date: Sun, 26 Jul 2020 21:59:42 -0400 Subject: [PATCH] update test program to randomize keys after vector resize. --- examples/matt.cc | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/examples/matt.cc b/examples/matt.cc index 1a70646..e71de61 100644 --- a/examples/matt.cc +++ b/examples/matt.cc @@ -57,10 +57,12 @@ public: } }; +using Perturb = std::function &)>; + // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- template -void test(const char *name, std::function &)> perturb) +void test(const char *name, Perturb perturb1, Perturb perturb2) { Set s; @@ -70,11 +72,13 @@ void test(const char *name, std::function &)> pertur for (uint32_t i=0; i order(s.begin(), s.end()); - perturb(order); - order.resize(N/4); + std::vector order(s.begin(), s.end()); // contains sorted, randomly generated keys - Timer t(name); + perturb1(order); + order.resize(N/4); + perturb2(order); + + Timer t(name); // start timer Set c(order.begin(), order.end()); } @@ -100,21 +104,21 @@ int main() constexpr uint32_t num_keys = 10000000; using T = uint64_t; - test, num_keys>("flat_hash_set ordered ", noop); + test, num_keys>("flat_hash_set ordered ", noop, shuffle); - test, num_keys>("flat_hash_set shuffled", shuffle); + test, num_keys>("flat_hash_set shuffled", shuffle, shuffle); - test, num_keys>("parallel (16) ordered ", noop); + test, num_keys>("parallel (16) ordered ", noop, shuffle); - test, num_keys>("parallel (16) shuffled", shuffle); + test, num_keys>("parallel (16) shuffled", shuffle, shuffle); - test, num_keys>("parallel (64) ordered ", noop); + test, num_keys>("parallel (64) ordered ", noop, shuffle); - test, num_keys>("parallel (64) shuffled", shuffle); + test, num_keys>("parallel (64) shuffled", shuffle, shuffle); - test, num_keys>("parallel (256) ordered ", noop); + test, num_keys>("parallel (256) ordered ", noop, shuffle); - test, num_keys>("parallel (256) shuffled", shuffle); + test, num_keys>("parallel (256) shuffled", shuffle, shuffle); }