mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-12 08:35:31 +01:00
2835216ec0txgraph: make GroupClusters use partition numbers directly (optimization) (Pieter Wuille)c72c8d5d45txgraph: compare sequence numbers instead of Cluster* (bugfix) (Pieter Wuille) Pull request description: Part of cluster mempool: #30289 The implicit transaction ordering for transactions in a TxGraphImpl is defined by: 1. higher chunk feerate first 2. lower Cluster* object pointer first 3. lower position within cluster linearization first. Number (2) is not deterministic, as it intricately depends on the heap allocation algorithm. Fix this by giving each Cluster a unique `uint64_t m_sequence` value, and sorting by those instead. The second commit then uses this new approach to optimize GroupClusters a bit more, avoiding some repeated checks and dereferences, by making a local copy of the involved sequence numbers. Thanks to @dergoegge for pointing this out. ACKs for top commit: instagibbs: reACK2835216ec0marcofleon: ACK2835216ec0glozow: utACK2835216ec0Tree-SHA512: d772a55b9ed620159b934a42a39fca7f900d4aa89c099a280a0c61ea0bd7c4fc39b388281ffc775064ea77b0b17263871b4c9763aa71c710a79287d5eb2cd4b4