doc: Update and extend benchmarking.md #16536

pull ariard wants to merge 1 commits into bitcoin:master from ariard:2019-08-update-benchmarking-docs changing 1 files +22 −29
  1. ariard commented at 4:17 PM on August 2, 2019: member

    Trying to make benchmarking docs a bit more friendly.

    If you have any more ideas, specially on the Notes section, which component need more benchmarks.

    (oh isn't a write-up somewhere to generate flame graphs for core ?)

  2. in doc/benchmarking.md:24 in 49803e878b outdated
      44 | -SipHash_32b, 5, 40000000, 38.7088, 1.91103e-07, 1.96998e-07, 1.93792e-07
      45 | -Sleep100ms, 5, 10, 5.01062, 0.100131, 0.100368, 0.100147
      46 | -Trig, 5, 12000000, 5.95494, 9.78115e-08, 1.04354e-07, 9.80682e-08
      47 | -VerifyScriptBench, 5, 6300, 9.02493, 0.000285566, 0.000288433, 0.000286175
      48 | +AssembleBlock, 5, 700, 1.79954, 0.000510913, 0.000517018, 0.000514497
      49 | +Base58CheckEncode, 5, 320000, 4.92458, 3.06687e-06, 3.08925e-06, 3.07813e-06
    


    MarcoFalke commented at 4:22 PM on August 2, 2019:

    Could keep the first line and replace the rest with ...?

    ...
    
  3. in doc/benchmarking.md:93 in 49803e878b outdated
     114 | +
     115 | +  -?
     116 | +       Print this help message and exit
     117 | +
     118 | +  -evals=<n>
     119 | +       Number of measurement evaluations to perform. (default: 5)
    


    MarcoFalke commented at 4:23 PM on August 2, 2019:

    Same here. This will just end up being outdated in two weeks


    ariard commented at 4:50 PM on August 2, 2019:

    Not adding the bench_bitcoin options ? Was thinking it's good to see options without compiling binary


    MarcoFalke commented at 4:55 PM on August 2, 2019:

    They just get outdated and incorrect information is worse than none, no?

  4. in doc/benchmarking.md:44 in 49803e878b outdated
     104 | +WalletBalanceWatch, 5, 8000, 2.29993, 5.73364e-05, 5.77806e-05, 5.74599e-05
     105 |  ```
     106 |  
     107 |  Help
     108 |  ---------------------
     109 | -`-?` will print a list of options and exit:
    


    practicalswift commented at 4:48 PM on August 2, 2019:

    Perhaps -help should be recommended instead of -?. -? could be interpreted as shell wildcard :-)


    ariard commented at 5:01 PM on August 2, 2019:

    I agree a lot with this one, --help is just that much more intuitive!

  5. practicalswift commented at 4:49 PM on August 2, 2019: contributor

    utACK 49803e878ba21eb9f9299241f5e131c185f6aff3 modulo nits above

  6. ariard force-pushed on Aug 2, 2019
  7. ariard commented at 5:02 PM on August 2, 2019: member

    Updated with nits at 9a4b366 with link to how to do flame graph.

  8. MarcoFalke commented at 5:06 PM on August 2, 2019: member

    ACK 9a4b3665baa996bd88c34fa9710c8cd1907c6204

  9. jamesob commented at 5:08 PM on August 2, 2019: member

    ACK for shameless bitcoinperf plug.

  10. in doc/benchmarking.md:45 in 9a4b3665ba outdated
      69 | +- Cuckoo Cache
      70 | +
      71 | +Going Further
      72 | +--------------------
      73 | +
      74 | +If you want to monitor Bitcoin Core performance more in depth (like reindex or IBD) : https://github.com/chaincodelabs/bitcoinperf
    


    practicalswift commented at 5:09 PM on August 2, 2019:

    Nit: Extra before :?


    jonatack commented at 5:15 PM on August 2, 2019:

    Nit: for brevity s/If you want to/To/

  11. in doc/benchmarking.md:47 in 9a4b3665ba outdated
      71 | +Going Further
      72 | +--------------------
      73 | +
      74 | +If you want to monitor Bitcoin Core performance more in depth (like reindex or IBD) : https://github.com/chaincodelabs/bitcoinperf
      75 | +
      76 | +If you want to generate Flame Graphs for Bitcoin Core : https://github.com/eklitzke/bitcoin/blob/flamegraphs/doc/flamegraphs.md
    


    practicalswift commented at 5:09 PM on August 2, 2019:

    Nit: Extra before :?


    jonatack commented at 5:14 PM on August 2, 2019:

    Nit: for brevity s/If you want to/To/

  12. practicalswift commented at 5:09 PM on August 2, 2019: contributor

    ACK 9a4b3665baa996bd88c34fa9710c8cd1907c6204 modulo nits

  13. in doc/benchmarking.md:32 in 9a4b3665ba outdated
      54 | -`-?` will print a list of options and exit:
      55 |  
      56 | -    src/bench/bench_bitcoin -?
      57 | +    src/bench/bench_bitcoin --help
      58 | +
      59 | +Print you options like scaling factor or per-benchmark filter.
    


    jonatack commented at 5:12 PM on August 2, 2019:

    s/you/[your|out]/? Not sure which word you meant to write here but this isn't right.

  14. in doc/benchmarking.md:11 in 9a4b3665ba outdated
       7 | +thread queue, wallet balance.
       8 |  
       9 |  Running
      10 |  ---------------------
      11 | +
      12 | +For benchmarks purposes you only need to compile `bitcoin_bench`. Beware to configure without `--enable-debug` as it impacts
    


    jonatack commented at 5:16 PM on August 2, 2019:

    Grammar error: s/to configure/of configuring/


    jonatack commented at 5:20 PM on August 2, 2019:

    s/it impacts/this would impact/

  15. in doc/benchmarking.md:12 in 9a4b3665ba outdated
       8 |  
       9 |  Running
      10 |  ---------------------
      11 | +
      12 | +For benchmarks purposes you only need to compile `bitcoin_bench`. Beware to configure without `--enable-debug` as it impacts
      13 | +benchmarking
    


    jonatack commented at 5:19 PM on August 2, 2019:

    Could you describe how/why omitting the --enable-debug argument would impact benchmarking?

    Nit: missing punctuation at end of sentence.


    ariard commented at 5:49 PM on August 2, 2019:

    I would say main point is lock analysis, updated

  16. jonatack commented at 5:19 PM on August 2, 2019: member

    Concept ACK. Some comments for your consideration.

  17. ariard force-pushed on Aug 2, 2019
  18. ariard commented at 5:32 PM on August 2, 2019: member

    Updated at 05fdb97, thanks all for the super-fast reviews!

  19. [doc] Update and extend benchmarking.md 05fdb97df4
  20. ariard force-pushed on Aug 2, 2019
  21. jonatack commented at 5:50 PM on August 2, 2019: member

    ACK 05fdb97df46d0a0675b93e9791bd5d498e5e5117

  22. DrahtBot added the label Docs on Aug 2, 2019
  23. fanquake renamed this:
    [doc] Update and extend benchmarking.md
    doc: Update and extend benchmarking.md
    on Aug 4, 2019
  24. in doc/benchmarking.md:14 in 05fdb97df4
      10 |  ---------------------
      11 | +
      12 | +For benchmarks purposes you only need to compile `bitcoin_bench`. Beware of configuring without `--enable-debug` as this would impact
      13 | +benchmarking by unlatching log printers and lock analysis.
      14 | +
      15 | +    make -C src bench_bitcoin
    


    fanquake commented at 1:09 AM on August 4, 2019:

    Shouldn't this be make -C src bench/bench_bitcoin ? I think that would be clearer given all the following commands all use src/bench/bench_bitcoin


    ariard commented at 6:50 AM on August 4, 2019:

    Well in fact no. I was surprised but make -C src bench/bench_bitcoin doesn't work. Maybe makefile target needs to be updated somewhere..


    fanquake commented at 6:53 AM on August 4, 2019:

    That’s confusing, it worked for me when I tested it earlier?


    ariard commented at 7:00 AM on August 4, 2019:

    Dunno but I tested it again on my Debian and doesn't work. Should some configure flags be set correctly ?


    fanquake commented at 7:14 AM on August 4, 2019:

    I'm just doing:

    cd bitcoin
    ./autogen.sh
    ./configure
    make -C src bench/bench_bitcoin
    src/bench/bench_bitcoin --help
    

    ariard commented at 7:39 AM on August 4, 2019:

    Tried same and got a classic makefile error:

    make: Entering directory '/home/user/Bitcoin/bitcoin/src'
    make: *** No rule to make target 'bench/bitcoin_bench'.  Stop.
    make: Leaving directory '/home/user/Bitcoin/bitcoin/src
    

    MarcoFalke commented at 11:53 AM on August 5, 2019:
    $ make -j 9 -C src bench/bench_bitcoin
    make: Entering directory '/home/marco/workspace/btc_bitcoin_core/src'
    make[1]: Entering directory '/home/marco/workspace/btc_bitcoin_core'
    make[1]: Leaving directory '/home/marco/workspace/btc_bitcoin_core'
    make: Leaving directory '/home/marco/workspace/btc_bitcoin_core/src'
    
    $ make -j 9 -C src bench_bitcoin
    make: Entering directory '/home/marco/workspace/btc_bitcoin_core/src'
    make: *** No rule to make target 'bench_bitcoin'.  Stop.
    make: Leaving directory '/home/marco/workspace/btc_bitcoin_core/src'
    

    MarcoFalke commented at 11:53 AM on August 5, 2019:

    What version of debian are you using?


    jonatack commented at 1:07 PM on August 5, 2019:
    make -j 9 -C src bench_bitcoin
    src/bench/bench_bitcoin --help
    

    from root this works for me on Debian 4.19.37-5 (2019-06-19) x86_64.


    ariard commented at 8:44 PM on August 5, 2019:

    Debian 9.9. This one works too for me.


    MarcoFalke commented at 9:24 PM on August 5, 2019:

    Huh, in a fresh docker of debian 9.9 I get:

    # lsb_release -d && make -j 16 -C src bench_bitcoin
    Description:	Debian GNU/Linux 9.9 (stretch)
    make: Entering directory '/bitcoin/src'
    make: *** No rule to make target 'bench_bitcoin'.  Stop.
    make: Leaving directory '/bitcoin/src'
    
    
  25. fanquake commented at 1:22 AM on August 4, 2019: member

    ACK 05fdb97df46d0a0675b93e9791bd5d498e5e5117 - with the single nit.

    If there's interest the Flame Graph documentation could probably be bought into either this, or the https://github.com/bitcoin-core/docs/ repo at some point.

  26. ariard commented at 6:53 AM on August 4, 2019: member

    Yes, I want to give a try to flame graph and beef it up, will bring it in at this point. Like soon.

  27. MarcoFalke merged this on Aug 5, 2019
  28. MarcoFalke closed this on Aug 5, 2019

  29. MarcoFalke referenced this in commit 1063fc9cf9 on Aug 5, 2019
  30. fanquake referenced this in commit ceecefe0b0 on Oct 9, 2019
  31. Munkybooty referenced this in commit d34b1e160b on Nov 25, 2021
  32. Munkybooty referenced this in commit ef78dbce53 on Nov 30, 2021
  33. DrahtBot locked this on Dec 16, 2021

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-04-21 18:14 UTC

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