From 49386f8cbfb2c2342df0d06b7345a35063f8d237 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 22 Jan 2024 10:53:56 -0500 Subject: Benchmarking: updated insert_query_tput to use better rng --- benchmarks/insert_query_tput.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'benchmarks') diff --git a/benchmarks/insert_query_tput.cpp b/benchmarks/insert_query_tput.cpp index 3b63395..865e82c 100644 --- a/benchmarks/insert_query_tput.cpp +++ b/benchmarks/insert_query_tput.cpp @@ -11,6 +11,8 @@ #include "query/rangecount.h" #include "framework/interface/Record.h" +#include + #include "psu-util/timer.h" @@ -40,18 +42,23 @@ void insert_thread(Ext *extension, size_t n, size_t k) { inserts_done.store(true); } -void query_thread(Ext *extension, double selectivity, size_t k) { +void query_thread(Ext *extension, double selectivity, size_t k, gsl_rng *rng) { TIMER_INIT(); while (!inserts_done.load()) { size_t reccnt = extension->get_record_count(); + if (reccnt == 0) { + continue; // don't start querying until there is data + } + size_t range = reccnt * selectivity; auto q = new de::rc::Parms(); TIMER_START(); for (int64_t i=0; ilower_bound = start; q->upper_bound = start + range; auto res = extension->query(q); @@ -72,11 +79,15 @@ int main(int argc, char **argv) { size_t per_trial = 1000; double selectivity = .001; + gsl_rng * rng = gsl_rng_alloc(gsl_rng_mt19937); + std::thread i_thrd(insert_thread, extension, n, per_trial); - std::thread q_thrd(query_thread, extension, selectivity, 1); + std::thread q_thrd(query_thread, extension, selectivity, 1, rng); q_thrd.join(); i_thrd.join(); + + gsl_rng_free(rng); fflush(stderr); } -- cgit v1.2.3