Run gc less frequently

But still run it to account for the version potentially increasing
This commit is contained in:
2024-10-31 15:35:00 -07:00
parent eaad0c69a7
commit ec1c1cf43f

View File

@@ -5128,9 +5128,6 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
assert(writeContext.accum.entries_erased == 0); assert(writeContext.accum.entries_erased == 0);
assert(writeContext.accum.entries_inserted == 0); assert(writeContext.accum.entries_inserted == 0);
// Queue up some gc work just for (potentially) increasing the version
++keyUpdates;
if (oldestExtantVersion < writeVersion - kMaxCorrectVersionWindow) if (oldestExtantVersion < writeVersion - kMaxCorrectVersionWindow)
[[unlikely]] { [[unlikely]] {
if (writeVersion > newestVersionFullPrecision + kNominalVersionWindow) { if (writeVersion > newestVersionFullPrecision + kNominalVersionWindow) {
@@ -5187,10 +5184,11 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
writeContext.releaseDeferred(); writeContext.releaseDeferred();
// Run gc at least 200% the rate we're inserting entries // Run gc at least 200% the rate we're inserting entries, and at least run
// some gc just for potentially increasing the version.
keyUpdates += std::max<int64_t>(writeContext.accum.entries_inserted - keyUpdates += std::max<int64_t>(writeContext.accum.entries_inserted -
writeContext.accum.entries_erased, writeContext.accum.entries_erased,
0) * 1) *
2; 2;
point_writes_total.add(writeContext.accum.point_writes); point_writes_total.add(writeContext.accum.point_writes);