You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge bitcoin#30285: cluster mempool: merging & postprocessing of linearizations
bbcee5a clusterlin: improve rechunking in LinearizationChunking (optimization) (Pieter Wuille)
04d7a04 clusterlin: add MergeLinearizations function + fuzz test + benchmark (Pieter Wuille)
4f8958d clusterlin: add PostLinearize + benchmarks + fuzz tests (Pieter Wuille)
0e2812d clusterlin: add algorithms for connectedness/connected components (Pieter Wuille)
0e52728 clusterlin: rename Intersect -> IntersectPrefixes (Pieter Wuille)
Pull request description:
Part of cluster mempool: bitcoin#30289
Depends on bitcoin#30126, and was split off from it. bitcoin#28676 depends on this.
This adds the algorithms for merging & postprocessing linearizations.
The `PostLinearize(depgraph, linearization)` function performs an in-place improvement of `linearization`, using two iterations of the [Linearization post-processing](https://delvingbitcoin.org/t/linearization-post-processing-o-n-2-fancy-chunking/201/8) algorithm. The first running from back to front, the second from front to back.
The `MergeLinearizations(depgraph, linearization1, linearization2)` function computes a new linearization for the provided cluster, given two existing linearizations for that cluster, which is at least as good as both inputs. The algorithm is described at a high level in [merging incomparable linearizations](https://delvingbitcoin.org/t/merging-incomparable-linearizations/209).
For background and references, see [Introduction to cluster linearization](https://delvingbitcoin.org/t/introduction-to-cluster-linearization/1032).
ACKs for top commit:
sdaftuar:
ACK bbcee5a
glozow:
code review ACK bbcee5a
instagibbs:
ACK bitcoin@bbcee5a
Tree-SHA512: d2b5a3f132d1ef22ddf9c56421ab8b397efe45b3c4c705548dda56f5b39fe4b8f57a0d2a4c65b338462d80bb5b9b84a9a39efa1b4f390420a8005ce31817774e
0 commit comments