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/bitcoin#23157: txmempool -/-> validation 1/2: improve performance of check() and remove dependency on validation
082c5bf [refactor] pass coinsview and height to check() (glozow)
ed6115f [mempool] simplify some check() logic (glozow)
9e8d7ad [validation/mempool] use Spend/AddCoin instead of UpdateCoins (glozow)
09d1891 MOVEONLY: remove single-use helper func CheckInputsAndUpdateCoins (glozow)
e8639ec [mempool] remove now-unnecessary code (glozow)
54c6f3c [mempool] speed up check() by using coins cache and iterating in topo order (glozow)
30e240f [bench] Benchmark CTxMemPool::check() (glozow)
cb14071 [refactor/bench] make mempool_stress bench reusable and parameterizable (glozow)
Pull request description:
Remove the txmempool <-> validation circular dependency by removing txmempool's dependency on validation. There are two functions in txmempool that need validation right now: `check()` and `removeForReorg()`. This PR removes the dependencies in `check()`.
This PR also improves the performance of `CTxMemPool::check()` by walking through the entries exactly once, in ascending ancestorcount order, which guarantees that we see parents before children.
ACKs for top commit:
jnewbery:
reACK 082c5bf
GeneFerneau:
tACK [082c5bf](bitcoin/bitcoin@082c5bf)
rajarshimaitra:
tACK bitcoin/bitcoin@082c5bf
theStack:
Code-review ACK 082c5bf
Tree-SHA512: 40ac622af1627b5c3e6abb4f0f035d833265a8c5e8dc88faf5354875dfb5137f137825e54bbd2a2668ed37b145c5d02285f776402629f58596e51853a9a79d29
0 commit comments