Benchmark Chainstate::ConnectBlock duration #31689

pull Eunovo wants to merge 1 commits into bitcoin:master from Eunovo:connect-block-benchmark changing 2 files +92 −0
  1. Eunovo commented at 10:34 am on January 20, 2025: none
    Add benchmark to measure ConnectBlock duration on full taproot blocks without signature caching. This is the first step towards implementing Batch Verification of Schnorr Signatures on Core. It will allow testing and measuring performance improvements of batch verification on Core. Also see the batch-verify module on secp
  2. DrahtBot commented at 10:34 am on January 20, 2025: contributor

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

    Code Coverage & Benchmarks

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

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  3. Eunovo marked this as a draft on Jan 20, 2025
  4. Eunovo force-pushed on Jan 20, 2025
  5. Eunovo force-pushed on Jan 20, 2025
  6. Benchmark Chainstate::ConnectBlock duration
    Measure ConnectBlock performance of full taproot blocks without signature caching
    This will allow testing and  measurement of performance improvement of
    batch verification of schnorr signatures
    
    > cmake -B build -DBUILD_BENCH=ON
    > cmake --build build
    > build/src/bench/bench_bitcoin -filter=ConnectBlock
    d553a49beb
  7. in src/bench/check_connectblock.cpp:26 in 0b13781d9f outdated
    21+    Chainstate& chainstate{test_setup->m_node.chainman->ActiveChainstate()};
    22+
    23+    // Create a block with (500*4) schnorr signatures to verify
    24+    // Typical blocks have high number of txs with few inputs
    25+    const int num_txs = 500;
    26+    const int num_inputs = 4;
    


    l0rinc commented at 12:17 pm on January 20, 2025:
    Could we use an existing block from Mainnet () - to be sure we’re measuring a representative case and not one skewed towards our preferences? One with many schnorr sigs - but since we don’t yet have one that only contains them, I don’t think it makes sense to measure that (like we do here).
  8. Eunovo force-pushed on Jan 20, 2025

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: 2025-01-21 03:12 UTC

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