Compare commits
4 Commits
be5f1b67c8
...
6a0344e821
Author | SHA1 | Date | |
---|---|---|---|
6a0344e821 | |||
2fcf3da29f | |||
c8495b1695 | |||
d81d02f11d |
@@ -60,7 +60,6 @@ void benchConflictSet() {
|
|||||||
ConflictSet cs{0};
|
ConflictSet cs{0};
|
||||||
|
|
||||||
bench.batch(kOpsPerTx);
|
bench.batch(kOpsPerTx);
|
||||||
bench.minEpochIterations(10000);
|
|
||||||
|
|
||||||
int64_t version = 0;
|
int64_t version = 0;
|
||||||
|
|
||||||
@@ -192,7 +191,6 @@ void benchConflictSet() {
|
|||||||
bench.run("point writes", [&]() {
|
bench.run("point writes", [&]() {
|
||||||
auto v = ++version;
|
auto v = ++version;
|
||||||
cs.addWrites(writes.data(), writes.size(), v);
|
cs.addWrites(writes.data(), writes.size(), v);
|
||||||
cs.setOldestVersion(version - kMvccWindow);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +211,6 @@ void benchConflictSet() {
|
|||||||
bench.run("prefix writes", [&]() {
|
bench.run("prefix writes", [&]() {
|
||||||
auto v = ++version;
|
auto v = ++version;
|
||||||
cs.addWrites(writes.data(), writes.size(), v);
|
cs.addWrites(writes.data(), writes.size(), v);
|
||||||
cs.setOldestVersion(version - kMvccWindow);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,12 +231,13 @@ void benchConflictSet() {
|
|||||||
bench.run("range writes", [&]() {
|
bench.run("range writes", [&]() {
|
||||||
auto v = ++version;
|
auto v = ++version;
|
||||||
cs.addWrites(writes.data(), writes.size(), v);
|
cs.addWrites(writes.data(), writes.size(), v);
|
||||||
cs.setOldestVersion(version - kMvccWindow);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
bench.batch(1);
|
bench.batch(1);
|
||||||
|
|
||||||
|
bench.warmup(10000);
|
||||||
|
|
||||||
{
|
{
|
||||||
bench.run("monotonic increasing point writes", [&]() {
|
bench.run("monotonic increasing point writes", [&]() {
|
||||||
auto v = ++version;
|
auto v = ++version;
|
||||||
|
@@ -219,10 +219,6 @@ if(BUILD_TESTING)
|
|||||||
add_executable(conflict_set_bench Bench.cpp)
|
add_executable(conflict_set_bench Bench.cpp)
|
||||||
target_link_libraries(conflict_set_bench PRIVATE ${PROJECT_NAME})
|
target_link_libraries(conflict_set_bench PRIVATE ${PROJECT_NAME})
|
||||||
set_target_properties(conflict_set_bench PROPERTIES SKIP_BUILD_RPATH ON)
|
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)
|
add_executable(real_data_bench RealDataBench.cpp)
|
||||||
target_link_libraries(real_data_bench PRIVATE ${PROJECT_NAME})
|
target_link_libraries(real_data_bench PRIVATE ${PROJECT_NAME})
|
||||||
|
@@ -56,16 +56,18 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto iter = map.find(removalKey);
|
auto iter = map.find(removalKey);
|
||||||
|
while (keyUpdates > 0) {
|
||||||
if (iter == map.end()) {
|
if (iter == map.end()) {
|
||||||
iter = map.begin();
|
iter = map.begin();
|
||||||
}
|
}
|
||||||
for (; keyUpdates > 0 && iter != map.end(); --keyUpdates) {
|
for (; iter != map.end(); --keyUpdates) {
|
||||||
if (iter->second <= oldestVersion) {
|
if (iter->second <= oldestVersion) {
|
||||||
iter = map.erase(iter);
|
iter = map.erase(iter);
|
||||||
} else {
|
} else {
|
||||||
++iter;
|
++iter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (iter == map.end()) {
|
if (iter == map.end()) {
|
||||||
removalKey.clear();
|
removalKey.clear();
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user