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) {
|
while (version < kMvccWindow) {
|
||||||
auto v = ++version;
|
auto v = ++version;
|
||||||
for (auto &w : writes) {
|
writes[0].writeVersion = v;
|
||||||
w.writeVersion = v;
|
cs.addWrites(writes.data(), 1);
|
||||||
}
|
|
||||||
cs.addWrites(writes.data(), writes.size());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bench.run(name + " (point writes)", [&]() {
|
bench.run(name + " (point writes)", [&]() {
|
||||||
@@ -852,6 +850,28 @@ template <class ConflictSet_> void benchConflictSet(const std::string &name) {
|
|||||||
cs.setOldestVersion(version - kMvccWindow);
|
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) {
|
int main(void) {
|
||||||
|
Reference in New Issue
Block a user