test: Speedup fee estimation functional test with batching #35976

pull sedited wants to merge 1 commits into bitcoin:master from sedited:fee_estimation_test_speedup changing 1 files +8 −1
  1. sedited commented at 8:58 PM on August 14, 2026: contributor

    The fee estimation functional test is currently the slowest one by a good margin. It is a bit annoying, because it also increases the total runtime of the functional tests.

    It seems like most of the slowness comes from the transactions propagating between the nodes. This patch helps them do that by submitting them directly to all the nodes. Also take this opportunity to batch the transaction submissions.

    On my machine this speeds up the fee estimation functional test from around 71 seconds to 25 seconds.

  2. test: Speedup fee estimation functional test with batching b3d77ea027
  3. DrahtBot added the label Tests on Aug 14, 2026
  4. DrahtBot commented at 8:58 PM on August 14, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35976.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    ACK 151henry151, ismaelsadeeq, maflcko

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #34075 (fees: Introduce Mempool Based Fee Estimation to reduce overestimation by ismaelsadeeq)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. ismaelsadeeq commented at 9:03 PM on August 14, 2026: member

    Concept ACK

  6. 151henry151 commented at 6:56 PM on August 15, 2026: contributor

    tACK b3d77ea0275e56ad5aca442100b66789b5c08ec5

    feature_fee_estimation.py passed on tip (72s) vs parent without the patch (92s). Slower absolute times than in the PR description, but still a clear improvement.

    Batching to all nodes via create_self_transfer + node.batch matches the existing transact_and_mine pattern.

  7. DrahtBot requested review from ismaelsadeeq on Aug 15, 2026
  8. ismaelsadeeq commented at 11:47 AM on August 16, 2026: member

    ACK b3d77ea0275e56ad5aca442100b66789b5c08ec5

    The dropped confirmed_only=True is fine.

    The old call was send_self_transfer(..., confirmed_only=True, utxo_to_spend=self.confutxo.pop(0)). confirmed_only is only consulted inside get_utxo(), which is short-circuited whenever utxo_to_spend= is passed explicitly:

    # wallet.py
    utxo_to_spend = utxo_to_spend or self.get_utxo(confirmed_only=confirmed_only)
    

    Since utxo_to_spend is always supplied here, get_utxo() never runs and confirmed_only was already a no-op. Confirmedness is instead guaranteed by construction:

    Benchmark result is almost identical to the OP master - 68.87 s
    This PR 25.37 s

  9. maflcko commented at 7:29 AM on August 17, 2026: member

    review ACK b3d77ea0275e56ad5aca442100b66789b5c08ec5 🐇

    <details><summary>Show signature</summary>

    Signature:

    untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
    RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
    trusted comment: review ACK b3d77ea0275e56ad5aca442100b66789b5c08ec5 🐇
    NwwFuvAZFroztCRi4rMYt4vLjWp8GxPOFa5UkTebzP0S33KRO+x8RntRuHUY9QLgOq+aPD2n0nqdfGKbuUpGBA==
    

    </details>

  10. fanquake merged this on Aug 17, 2026
  11. fanquake closed this on Aug 17, 2026


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-08-19 11:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me