Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testing: benchmark assemble / transaction pool's uses of recomputeBlockEvaluator #3138

Merged
merged 9 commits into from
Sep 14, 2022

Conversation

cce
Copy link
Contributor

@cce cce commented Oct 25, 2021

Summary

First draft at attempting to profile CPU and benchmark calling recomputeBlockEvaluator on large pool & block sizes to examine performance bottlenecks updating the transaction pool when a new block arrives.

I was running with GOGC=off to try and declutter the profiles, especially when b.N > 1.

Test Plan

Adds a test.

@codecov-commenter
Copy link

codecov-commenter commented Oct 25, 2021

Codecov Report

Merging #3138 (2f79d39) into master (e83acec) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3138      +/-   ##
==========================================
- Coverage   55.25%   55.23%   -0.02%     
==========================================
  Files         398      398              
  Lines       50297    50297              
==========================================
- Hits        27793    27784       -9     
- Misses      20171    20180       +9     
  Partials     2333     2333              
Impacted Files Coverage Δ
util/db/dbutil.go 44.24% <0.00%> (-4.25%) ⬇️
ledger/blockqueue.go 85.63% <0.00%> (-2.88%) ⬇️
catchup/peerSelector.go 98.95% <0.00%> (-1.05%) ⬇️
cmd/tealdbg/debugger.go 72.69% <0.00%> (-0.81%) ⬇️
network/wsPeer.go 67.94% <0.00%> (-0.55%) ⬇️
network/wsNetwork.go 64.63% <0.00%> (-0.20%) ⬇️
catchup/service.go 69.38% <0.00%> (+0.49%) ⬆️
data/transactions/verify/txn.go 44.64% <0.00%> (+0.89%) ⬆️
crypto/merkletrie/node.go 93.48% <0.00%> (+1.86%) ⬆️
crypto/merkletrie/trie.go 68.61% <0.00%> (+2.18%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@cce cce changed the title WIP of recomputeBlockEvaluator test WIP transaction pool recomputeBlockEvaluator profiling/benchmark Aug 4, 2022
@cce cce changed the title WIP transaction pool recomputeBlockEvaluator profiling/benchmark testing: benchmark transaction pool's uses of recomputeBlockEvaluator Aug 30, 2022
@cce cce marked this pull request as ready for review September 9, 2022 21:19
@cce cce changed the title testing: benchmark transaction pool's uses of recomputeBlockEvaluator testing: benchmark assemble / transaction pool's uses of recomputeBlockEvaluator Sep 9, 2022
Copy link
Contributor

@brianolson brianolson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a little dead code to cleanup, otherwise looks reasonable

data/pools/transactionPool_test.go Outdated Show resolved Hide resolved
Copy link
Contributor

@algonautshant algonautshant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@cce cce requested a review from brianolson September 14, 2022 16:29
@algorandskiy algorandskiy merged commit 7e8ca90 into algorand:master Sep 14, 2022
@cce cce deleted the profile-recompute-block branch September 14, 2022 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants