Summary
This commit does the final dirty deed of removing all of the quadratic stats (ancestor/descendant fees, etc).
- Removed all quadratic stats from CTxMemPoolEntry and code that maintains them.
- The only stats that aren't removed are the relay-rules-sensitive "descendant" stats which are only maintained pre-activation, then are disabled post-activation.
- Added activation conditionals in AcceptToMemoryPoolWorker and in wallet.cpp for enforcing chain limits up until tachyon activates, after which time there will be no limit.
- Performance on ATMP, Evict and Reorg in the tachyon case (where all the stats are no longer calculated) is extremely high
Test Plan
ninja all check-all
- Try the benches:
ninja bench_bitcoin
src/bench/bench_bitcoin -filter='(Genera.*)|(MempoolAcc.*)|(Evict.*)|(Reorg.*)'
- Try the above both with and without this commit.
Advanced:
- Run a node for a while, do IBD, etc.
- Start
bitcoind
with-tachyonactivationtime=1000000000 -expire=0
(tachyon already activated) and try and send it lots of very long chains of tx's, etc.