4 Commits

Author SHA1 Message Date
andrew 6a0344e821 Remove some vestigial cmake stuff
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/58//gcc">weaselab » conflict-set » main #58</a>
Tests / Release [gcc,aarch64] total: 703, passed: 703
Tests / Coverage total: 702, passed: 702
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-05 18:10:51 -08:00
andrew 2fcf3da29f Use a warmup instead
Seems more stable
2024-03-05 17:22:11 -08:00
andrew c8495b1695 Drain all pending work in hashtable's setOldestVersion 2024-03-05 17:18:58 -08:00
andrew d81d02f11d Don't gc in write benchmarks
This makes it easier to evaluate the claim that "point writes are
comparable to point reads" in performance, which should be the case.
2024-03-05 17:09:28 -08:00
3 changed files with 12 additions and 16 deletions
+2 -4
View File
@@ -60,7 +60,6 @@ void benchConflictSet() {
ConflictSet cs{0};
bench.batch(kOpsPerTx);
bench.minEpochIterations(10000);
int64_t version = 0;
@@ -192,7 +191,6 @@ void benchConflictSet() {
bench.run("point writes", [&]() {
auto v = ++version;
cs.addWrites(writes.data(), writes.size(), v);
cs.setOldestVersion(version - kMvccWindow);
});
}
@@ -213,7 +211,6 @@ void benchConflictSet() {
bench.run("prefix writes", [&]() {
auto v = ++version;
cs.addWrites(writes.data(), writes.size(), v);
cs.setOldestVersion(version - kMvccWindow);
});
}
@@ -234,12 +231,13 @@ void benchConflictSet() {
bench.run("range writes", [&]() {
auto v = ++version;
cs.addWrites(writes.data(), writes.size(), v);
cs.setOldestVersion(version - kMvccWindow);
});
}
bench.batch(1);
bench.warmup(10000);
{
bench.run("monotonic increasing point writes", [&]() {
auto v = ++version;
-4
View File
@@ -219,10 +219,6 @@ if(BUILD_TESTING)
add_executable(conflict_set_bench Bench.cpp)
target_link_libraries(conflict_set_bench PRIVATE ${PROJECT_NAME})
set_target_properties(conflict_set_bench PROPERTIES SKIP_BUILD_RPATH ON)
# target_compile_options(conflict_set_bench PRIVATE
# "-fsanitize=address,undefined,fuzzer")
# target_link_options(conflict_set_bench PRIVATE
# "-fsanitize=address,undefined,fuzzer")
add_executable(real_data_bench RealDataBench.cpp)
target_link_libraries(real_data_bench PRIVATE ${PROJECT_NAME})
+10 -8
View File
@@ -56,14 +56,16 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
return;
}
auto iter = map.find(removalKey);
if (iter == map.end()) {
iter = map.begin();
}
for (; keyUpdates > 0 && iter != map.end(); --keyUpdates) {
if (iter->second <= oldestVersion) {
iter = map.erase(iter);
} else {
++iter;
while (keyUpdates > 0) {
if (iter == map.end()) {
iter = map.begin();
}
for (; iter != map.end(); --keyUpdates) {
if (iter->second <= oldestVersion) {
iter = map.erase(iter);
} else {
++iter;
}
}
}
if (iter == map.end()) {