summaryrefslogtreecommitdiffstats
path: root/benchmarks/include/standard_benchmarks.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2024-04-22 12:27:43 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2024-04-22 12:27:43 -0400
commit0bb5b46ec2b64be17f6269631915e62d02e315e4 (patch)
treea45733b510f27a7a0b59f50b983a38ceb9bfa178 /benchmarks/include/standard_benchmarks.h
parent735d397513bc0160ba9ecb17c32c4441ed125f52 (diff)
downloaddynamic-extension-0bb5b46ec2b64be17f6269631915e62d02e315e4.tar.gz
Added plain BSM and MDSP BSM benchmark
Diffstat (limited to 'benchmarks/include/standard_benchmarks.h')
-rw-r--r--benchmarks/include/standard_benchmarks.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/benchmarks/include/standard_benchmarks.h b/benchmarks/include/standard_benchmarks.h
index f5af558..74bf93f 100644
--- a/benchmarks/include/standard_benchmarks.h
+++ b/benchmarks/include/standard_benchmarks.h
@@ -16,17 +16,20 @@
#include "framework/interface/Query.h"
#include "psu-util/progress.h"
#include "benchmark_types.h"
+#include "psu-util/bentley-saxe.h"
static size_t g_deleted_records = 0;
static double delete_proportion = 0.05;
-template<typename DE, typename QP>
+template<typename DE, typename QP, bool BSM=false>
static void run_queries(DE *extension, std::vector<QP> &queries) {
for (size_t i=0; i<queries.size(); i++) {
auto q = &queries[i];
auto res = extension->query(q);
- auto r = res.get();
+ if constexpr (!BSM) {
+ auto r = res.get();
+ }
}
}
@@ -47,6 +50,22 @@ static void run_static_queries(S *shard, std::vector<QP> &queries) {
}
+/*
+ * Insert records into a standard Bentley-Saxe extension. Deletes are not
+ * supported.
+ */
+template<typename DS, typename R, bool MDSP=false>
+static void insert_records(psudb::bsm::BentleySaxe<R, DS, MDSP> *extension,
+ size_t start, size_t stop, std::vector<R> &records) {
+
+ psudb::progress_update(0, "Insert Progress");
+ size_t reccnt = 0;
+ for (size_t i=start; i<stop; i++) {
+ extension->insert(records[i]);
+ }
+
+ psudb::progress_update(1, "Insert Progress");
+}
template<typename DE, de::RecordInterface R>