Add monotonic increasing point writes workload

This commit is contained in:
2024-02-23 16:13:53 -08:00
parent df8d092a84
commit 588e8eb87f

View File

@@ -789,10 +789,8 @@ template <class ConflictSet_> void benchConflictSet(const std::string &name) {
while (version < kMvccWindow) {
auto v = ++version;
for (auto &w : writes) {
w.writeVersion = v;
}
cs.addWrites(writes.data(), writes.size());
writes[0].writeVersion = v;
cs.addWrites(writes.data(), 1);
}
bench.run(name + " (point writes)", [&]() {
@@ -852,6 +850,28 @@ template <class ConflictSet_> void benchConflictSet(const std::string &name) {
cs.setOldestVersion(version - kMvccWindow);
});
}
bench.batch(1);
{
bench.run(name + " (monotonic increasing point writes)", [&]() {
auto v = ++version;
ConflictSet::WriteRange w;
uint8_t b[9];
b[8] = 0;
auto x = __builtin_bswap64(version);
memcpy(b, &x, 8);
w.writeVersion = v;
w.begin.p = b;
w.begin.len = 8;
w.end.len = 0;
w.end.p = b;
cs.addWrites(&w, 1);
cs.setOldestVersion(version - kMvccWindow);
});
}
}
int main(void) {