HomePhabricator

Mempool Update Cut-Through Optimization

Description

Mempool Update Cut-Through Optimization

Summary:
Often when we're updating mempool entries we update entries that we
ultimately end up removing the updated entries shortly thereafter. This
patch makes it so that we filter for such entries a bit earlier in
processing, which yields a mild improvement for these cases, and is
negligible overhead otherwise.

Increase limitancestorcount in tournament RPC test to showcase improved algorithm

This is a backport of core#21464

Notes:

  • I did not see a significant gain for this functional test. If there is any improvement, it is less than the usual variability (+- 10 seconds for a test that takes 220 seconds).
  • the policy/mempool.h include is needed for DEFAULT_ANCESTOR_LIMIT and DEFAULT_ANCESTOR_SIZE_LIMIT

Test Plan: ninja && ninja check check-functional-extended

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D12589

Details

Provenance
Jeremy Rubin <j@rubin.io>Authored on Mar 17 2021, 22:29
PiRKCommitted on Nov 24 2022, 09:04
PiRKPushed on Nov 24 2022, 09:04
Reviewer
Restricted Project
Differential Revision
D12589: Mempool Update Cut-Through Optimization
Parents
rABC5cf1f28e5693: Replace `struct update_lock_points` with lambda
Branches
Unknown
Tags
Unknown