bench: Benchmark MempoolToJSON #15473

pull MarcoFalke wants to merge 2 commits into bitcoin:master from MarcoFalke:Mf1902-benchRpcMempool changing 10 files +83 −38
  1. MarcoFalke commented at 2:21 pm on February 25, 2019: member

    This is used in production (e.g. https://jochen-hoenicke.de/queue/#0,24h), so add a benchmark to avoid making it even slower.

    Related:

    • “getrawmempool true RPC call is O(n^2)” #14765
  2. MarcoFalke added the label Tests on Feb 25, 2019
  3. promag commented at 3:02 pm on February 25, 2019: member

    Nice, concept ACK.

    Changes to entryToJSON should be in 1st commit?

  4. rpc: Pass mempool into MempoolToJSON fa5dc3534b
  5. bench: Benchmark MempoolToJSON fa38535130
  6. MarcoFalke force-pushed on Feb 25, 2019
  7. MarcoFalke commented at 3:14 pm on February 25, 2019: member
    Thx. Force pushed with changes correctly split up into the commits
  8. in src/Makefile.bench.include:41 in fa38535130
    37@@ -37,6 +38,7 @@ nodist_bench_bench_bitcoin_SOURCES = $(GENERATED_BENCH_FILES)
    38 bench_bench_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/
    39 bench_bench_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
    40 bench_bench_bitcoin_LDADD = \
    41+  $(LIBBITCOIN_SERVER) \
    


    promag commented at 3:18 pm on February 25, 2019:
    IIUC this is the first bench touching RPC functionality.
  9. DrahtBot commented at 3:52 pm on February 25, 2019: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #15323 (rpc: Expose g_is_mempool_loaded via getmempoolinfo by Empact)
    • #14984 (rpc: Speedup getrawmempool when verbose=true by promag)

    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.

  10. practicalswift commented at 11:16 pm on February 25, 2019: contributor
    Concept ACK
  11. MarcoFalke commented at 8:20 pm on February 27, 2019: member

    Anyone an idea how to fix the appveyor linker error?

    cc @ken2812221

  12. jgarzik commented at 8:37 pm on February 27, 2019: contributor

    concept ACK

    Comments trigged by this PR, but not directly related:

    1. Recently generated univalue profiling data showed 80% of the CPU time being spent in the destructor, when testing on a large JSON dataset (https://github.com/zemirco/sf-city-lots-json)

    I would infer similar behavior in getrawmempool return values.

    1. Would be nice to introduce RPCv2 using protobufs a la lnd. Clearly defined schema, automatic schema validation vs data, and dense data encoding.
  13. ken2812221 commented at 7:05 pm on February 28, 2019: contributor
    Seems that bench_bitcoin does not have univalue include path. I created PR #15503 to solve it.
  14. MarcoFalke added the label Needs gitian build on Mar 6, 2019
  15. MarcoFalke removed the label Needs gitian build on Mar 6, 2019
  16. ryanofsky approved
  17. ryanofsky commented at 7:54 pm on March 6, 2019: member
    utACK fa38535130266896c430d146b05d0069e525dbe6. Nice cleanup and new benchmark.
  18. MarcoFalke merged this on Mar 6, 2019
  19. MarcoFalke closed this on Mar 6, 2019

  20. MarcoFalke referenced this in commit 3515612e06 on Mar 6, 2019
  21. MarcoFalke deleted the branch on Mar 6, 2019
  22. jasonbcox referenced this in commit e12d2c2449 on Oct 25, 2019
  23. Munkybooty referenced this in commit 1bd0c5b5a0 on Sep 16, 2021
  24. kittywhiskers referenced this in commit 919bdbea9a on Oct 12, 2021
  25. kittywhiskers referenced this in commit 5ce4cd7da0 on Oct 12, 2021
  26. kittywhiskers referenced this in commit 6457a24e6a on Oct 12, 2021
  27. vijaydasmp referenced this in commit ab16481fe0 on Oct 20, 2021
  28. vijaydasmp referenced this in commit 1d929bf9f1 on Oct 21, 2021
  29. vijaydasmp referenced this in commit 356ad0499b on Oct 21, 2021
  30. vijaydasmp referenced this in commit 19be62c516 on Oct 22, 2021
  31. vijaydasmp referenced this in commit ed8762694c on Oct 22, 2021
  32. vijaydasmp referenced this in commit 29ae7710ae on Oct 23, 2021
  33. kittywhiskers referenced this in commit 544823b272 on Oct 25, 2021
  34. vijaydasmp referenced this in commit e293ab7bd2 on Oct 26, 2021
  35. pravblockc referenced this in commit 9a810fe7c0 on Nov 18, 2021
  36. 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: 2024-07-01 13:12 UTC

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