Add monotonic increasing point writes workload
This commit is contained in:
28
Bench.cpp
28
Bench.cpp
@@ -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) {
|
||||
|
Reference in New Issue
Block a user