summaryrefslogtreecommitdiffstats
path: root/benchmarks/watermark_testing.cpp
diff options
context:
space:
mode:
authorDouglas B. Rumbaugh <dbr4@psu.edu>2024-05-14 16:31:05 -0400
committerGitHub <noreply@github.com>2024-05-14 16:31:05 -0400
commit47916da2ba5ed5bee2dda3cbcc58d39e1e931bfc (patch)
treeee5613ce182b2c9caa228d3abeb65dc27fef2db3 /benchmarks/watermark_testing.cpp
parent4a834497d5f82c817d634925250158d85ca825c2 (diff)
parent8643fe194dec05b4e3f3ea31e162ac0b2b00e162 (diff)
downloaddynamic-extension-47916da2ba5ed5bee2dda3cbcc58d39e1e931bfc.tar.gz
Merge pull request #4 from dbrumbaugh/master
Updates for VLDB revision
Diffstat (limited to 'benchmarks/watermark_testing.cpp')
-rw-r--r--benchmarks/watermark_testing.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/benchmarks/watermark_testing.cpp b/benchmarks/watermark_testing.cpp
index caba8ff..c56fc63 100644
--- a/benchmarks/watermark_testing.cpp
+++ b/benchmarks/watermark_testing.cpp
@@ -5,15 +5,18 @@
#define ENABLE_TIMER
#include "framework/DynamicExtension.h"
-#include "shard/ISAMTree.h"
+#include "shard/TrieSpline.h"
#include "query/rangequery.h"
#include "framework/interface/Record.h"
#include "psu-util/timer.h"
+#include <algorithm>
+#include <random>
-typedef de::Record<int64_t, int64_t> Rec;
-typedef de::ISAMTree<Rec> ISAM;
+typedef uint64_t K;
+typedef de::Record<K, K> Rec;
+typedef de::TrieSpline<Rec> ISAM;
typedef de::rq::Query<Rec, ISAM> Q;
typedef de::DynamicExtension<Rec, ISAM, Q> Ext;
@@ -23,7 +26,17 @@ int main(int argc, char **argv) {
std::vector hwms = {5000l, 10000l, 20000l, 50000l};
std::vector lwms = {.1, .2, .3, .4, .5, .6, .7, .8, .9};
- size_t n = 1000000;
+ size_t n = 1000000000;
+
+ std::vector<K> keys(n);
+ for (K i=0; i<n; i++) {
+ keys[i] = i;
+ }
+
+ std::random_device rd;
+ std::mt19937 g(rd());
+
+ std::shuffle(keys.begin(), keys.end(), g);
TIMER_INIT();
@@ -33,8 +46,8 @@ int main(int argc, char **argv) {
auto extension = new Ext(lwm, hwm, 8);
TIMER_START();
- for (int64_t i=0; i<n; i++) {
- Rec r = {i, i};
+ for (size_t i=0; i<n; i++) {
+ Rec r = {keys[i], keys[i]};
while (!extension->insert(r)) {
_mm_pause();
}