summaryrefslogtreecommitdiffstats
path: root/benchmarks/vldb/ts_bsm_bench.cpp
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2024-05-01 16:03:19 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2024-05-01 16:03:19 -0400
commit349cfd5090f586b7ec189b72c00786522199fe34 (patch)
treeb4f97b0b18ad9ec04a8d075ddf2fc16d0e90f450 /benchmarks/vldb/ts_bsm_bench.cpp
parent5636838a6e64760c291b00107657a90428a0f9e1 (diff)
downloaddynamic-extension-349cfd5090f586b7ec189b72c00786522199fe34.tar.gz
TS BSM Adjustments
Diffstat (limited to 'benchmarks/vldb/ts_bsm_bench.cpp')
-rw-r--r--benchmarks/vldb/ts_bsm_bench.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/benchmarks/vldb/ts_bsm_bench.cpp b/benchmarks/vldb/ts_bsm_bench.cpp
index 941e3da..049fd35 100644
--- a/benchmarks/vldb/ts_bsm_bench.cpp
+++ b/benchmarks/vldb/ts_bsm_bench.cpp
@@ -37,26 +37,37 @@ int main(int argc, char **argv) {
std::string q_fname = std::string(argv[3]);
auto extension = new psudb::bsm::BentleySaxe<Rec, Shard>();
+ auto ghost = new psudb::bsm::BentleySaxe<Rec, Shard>();
gsl_rng *rng = gsl_rng_alloc(gsl_rng_mt19937);
auto data = read_sosd_file_pair<uint64_t, uint64_t>(d_fname, n);
- auto queries = read_range_queries<QP>(q_fname, .001);
+ std::vector<size_t> to_delete(n * delete_proportion);
+ size_t j=0;
+ for (size_t i=0; i<data.size() && j<to_delete.size(); i++) {
+ if (gsl_rng_uniform(rng) <= delete_proportion) {
+ to_delete[j++] = i;
+ }
+ }
+ auto queries = read_range_queries<QP>(q_fname, .0001);
/* warmup structure w/ 10% of records */
size_t warmup = .1 * n;
- insert_records<Shard, Rec>(extension, 0, warmup, data);
+ size_t delete_idx = 0;
+ insert_records<Shard, Rec>(extension, ghost, 0, warmup, data, to_delete,
+ delete_idx, rng);
TIMER_INIT();
TIMER_START();
- insert_records<Shard, Rec>(extension, warmup, data.size(), data);
+ insert_records<Shard, Rec>(extension, ghost, warmup, data.size(), data,
+ to_delete, delete_idx, rng);
TIMER_STOP();
auto insert_latency = TIMER_RESULT();
size_t insert_throughput = (size_t) ((double) (n - warmup) / (double) insert_latency * 1e9);
TIMER_START();
- run_queries<Ext, QP, true>(extension, queries);
+ run_queries<Ext, QP, Rec>(extension, ghost, queries);
TIMER_STOP();
auto query_latency = TIMER_RESULT() / queries.size();