diff options
Diffstat (limited to 'benchmarks')
| -rw-r--r-- | benchmarks/include/benchmark_types.h | 4 | ||||
| -rw-r--r-- | benchmarks/include/standard_benchmarks.h | 7 | ||||
| -rw-r--r-- | benchmarks/watermark_testing.cpp | 6 |
3 files changed, 15 insertions, 2 deletions
diff --git a/benchmarks/include/benchmark_types.h b/benchmarks/include/benchmark_types.h index 85e9565..fcdeac6 100644 --- a/benchmarks/include/benchmark_types.h +++ b/benchmarks/include/benchmark_types.h @@ -2,7 +2,6 @@ #include <cstdlib> #include "psu-ds/BTree.h" -#include "mtree.h" #include "framework/interface/Record.h" /* TLX BTree definitions*/ @@ -46,5 +45,8 @@ struct euclidean_distance { } }; +#ifdef _GNU_SOURCE +#include "mtree.h" typedef mt::mtree<Word2VecRec, euclidean_distance> MTree; +#endif diff --git a/benchmarks/include/standard_benchmarks.h b/benchmarks/include/standard_benchmarks.h index a42cdd6..5fc549d 100644 --- a/benchmarks/include/standard_benchmarks.h +++ b/benchmarks/include/standard_benchmarks.h @@ -102,8 +102,10 @@ static bool insert_tput_bench(DE &de_index, std::fstream &file, size_t insert_cn if (applied_deletes < delete_cnt && delete_idx < delete_vec.size() && gsl_rng_uniform(rng) < delete_prop) { if constexpr (std::is_same_v<BenchBTree, DE>) { de_index.erase_one(delete_vec[delete_idx++].key); + #ifdef _GNU_SOURCE } else if constexpr (std::is_same_v<MTree, DE>) { de_index.remove(delete_vec[delete_idx++]); + #endif } else { de_index.erase(delete_vec[delete_idx++]); } @@ -111,11 +113,16 @@ static bool insert_tput_bench(DE &de_index, std::fstream &file, size_t insert_cn } // insert the record; + #ifdef _GNU_SOURCE if constexpr (std::is_same_v<MTree, DE>) { de_index.add(insert_vec[i]); } else { de_index.insert(insert_vec[i]); } + #else + de_index.insert(insert_vec[i]); + #endif + applied_inserts++; } auto insert_stop = std::chrono::high_resolution_clock::now(); diff --git a/benchmarks/watermark_testing.cpp b/benchmarks/watermark_testing.cpp index 5fa0c0d..c56fc63 100644 --- a/benchmarks/watermark_testing.cpp +++ b/benchmarks/watermark_testing.cpp @@ -12,6 +12,7 @@ #include "psu-util/timer.h" #include <algorithm> +#include <random> typedef uint64_t K; typedef de::Record<K, K> Rec; @@ -32,7 +33,10 @@ int main(int argc, char **argv) { keys[i] = i; } - std::random_shuffle(keys.begin(), keys.end()); + std::random_device rd; + std::mt19937 g(rd()); + + std::shuffle(keys.begin(), keys.end(), g); TIMER_INIT(); |