Interface change! addWrites now takes a single write version
All checks were successful
Tests / Release [gcc] total: 704, passed: 704
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/57//gcc">weaselab » conflict-set » main #57</a>
Tests / Release [gcc,aarch64] total: 703, passed: 703
Tests / Coverage total: 702, passed: 702
weaselab/conflict-set/pipeline/head This commit looks good

This commit is contained in:
2024-03-05 16:50:53 -08:00
parent ec3aec4dff
commit be5f1b67c8
10 changed files with 71 additions and 95 deletions

View File

@@ -2,7 +2,6 @@
#include "Internal.h"
#include <cstdint>
#include <cstring>
#include <string>
#if SHOW_MEMORY
void showMemory(const ConflictSet &cs);
@@ -78,10 +77,9 @@ void benchConflictSet() {
w.begin.len = r.begin.len;
w.end.p = r.end.p;
w.end.len = 0;
w.writeVersion = version + 1;
writes.push_back(w);
}
cs.addWrites(writes.data(), writes.size());
cs.addWrites(writes.data(), writes.size(), version + 1);
++version;
}
@@ -112,11 +110,10 @@ void benchConflictSet() {
w.begin.len = begin.size();
w.end.p = end.data();
w.end.len = end.size();
w.writeVersion = version + 1;
writes.push_back(w);
}
cs.addWrites(writes.data(), kOpsPerTx, version + 1);
++version;
cs.addWrites(writes.data(), kOpsPerTx);
}
{
@@ -189,16 +186,12 @@ void benchConflictSet() {
while (version < kMvccWindow) {
auto v = ++version;
writes[0].writeVersion = v;
cs.addWrites(writes.data(), 1);
cs.addWrites(writes.data(), 1, v);
}
bench.run("point writes", [&]() {
auto v = ++version;
for (auto &w : writes) {
w.writeVersion = v;
}
cs.addWrites(writes.data(), writes.size());
cs.addWrites(writes.data(), writes.size(), v);
cs.setOldestVersion(version - kMvccWindow);
});
}
@@ -219,10 +212,7 @@ void benchConflictSet() {
bench.run("prefix writes", [&]() {
auto v = ++version;
for (auto &w : writes) {
w.writeVersion = v;
}
cs.addWrites(writes.data(), writes.size());
cs.addWrites(writes.data(), writes.size(), v);
cs.setOldestVersion(version - kMvccWindow);
});
}
@@ -243,10 +233,7 @@ void benchConflictSet() {
bench.run("range writes", [&]() {
auto v = ++version;
for (auto &w : writes) {
w.writeVersion = v;
}
cs.addWrites(writes.data(), writes.size());
cs.addWrites(writes.data(), writes.size(), v);
cs.setOldestVersion(version - kMvccWindow);
});
}
@@ -263,12 +250,11 @@ void benchConflictSet() {
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.addWrites(&w, 1, v);
cs.setOldestVersion(version - kMvccWindow);
});
}