Rework CTxMemPool::GetChildren() to not use epochs

This is likely slightly slower, but this was the last place we were using
epochs instead of sets to deduplicate, and this is only used by the RPC code
and in tests, and should not be CPU-performance critical. Eliminating this
allows us to save 8 bytes in CTxMemPoolEntry.

Co-Authored-By: Pieter Wuille <bitcoin-dev@wuille.net>
This commit is contained in:
Suhas Daftuar
2025-11-29 14:02:11 -05:00
committed by Pieter Wuille
parent 7b48b09b7f
commit 1a8494d16c
3 changed files with 9 additions and 29 deletions

View File

@@ -12,7 +12,6 @@
#include <policy/settings.h>
#include <primitives/transaction.h>
#include <txgraph.h>
#include <util/epochguard.h>
#include <util/overflow.h>
#include <chrono>
@@ -138,7 +137,6 @@ public:
bool GetSpendsCoinbase() const { return spendsCoinbase; }
mutable size_t idx_randomized; //!< Index in mempool's txns_randomized
mutable Epoch::Marker m_epoch_marker; //!< epoch when last touched, useful for graph algorithms
};
using CTxMemPoolEntryRef = CTxMemPoolEntry::CTxMemPoolEntryRef;