-
Notifications
You must be signed in to change notification settings - Fork 297
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
chore: ABCI methods benchmarks #3904
Merged
Merged
Changes from 31 commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
91b40ae
chore: add benchmarks for msg send in 8mb
rach-id 5092439
chore: run benchmarks multiple times
rach-id 7335643
chore: two decimals after comma in block size
rach-id 9c0742e
chore: add 8b check tx and deliver tx
rach-id ff28c12
chore: add PFB benchmarks
rach-id 53177d8
chore: initial ibc client update benchmarks
rach-id a260476
chore: create the ibc client before updating it
rach-id 3511b4b
chore: working update client transaction
rach-id 9345a2a
chore: working ibc update client benchmarks
rach-id 62729ca
chore: checks on validity of benchmark + not working comment
rach-id 95250f7
chore: ibc update client benchmarks working
rach-id 8b083fa
chore: pfb benchmarks working
rach-id 5a556b7
chore: msg send benchmarks working
rach-id 68002b7
chore: fix ibc update client comment and reports
rach-id dab12d3
chore: add half second benchmarks
rach-id a18707d
chore: only report the result
rach-id 7b386be
Merge remote-tracking branch 'origin/main' into 8mb-benchmark
rach-id ae7fb19
docs: add result docs
rach-id 87c28e2
chore: move to benchmark folder
rach-id dd3dd6b
chore: revert unnecessary changes
rach-id 3a5e979
chore: build tags
rach-id ce56501
chore: add readme and cosmetics
rach-id ecaaeb6
chore: index out of range fix
rach-id af52646
Update app/benchmarks/benchmark_msg_send_test.go
rach-id 0742f18
Merge remote-tracking branch 'origin/8mb-benchmark' into 8mb-benchmark
rach-id 0fb7b39
chore: check error when simulating transaction
rach-id 12fea1c
chore: set number of iterations
rach-id 2bd31ca
chore: use bench_abci_methods instead
rach-id ad76ff2
chore: remove unnecessarily duplicate no op logger set
rach-id 3a4e835
chore: remove print statement
rach-id a76ffcc
Update app/benchmarks/README.md
rach-id 9a45f4c
chore: rename to numberOfTransactions and blobSize
rach-id d60a1b4
Merge remote-tracking branch 'origin/8mb-benchmark' into 8mb-benchmark
rach-id 1608073
Update app/benchmarks/benchmark_ibc_update_client_test.go
rach-id 1ed45b1
chore: use megabyte const
rach-id 0fc3483
Merge remote-tracking branch 'origin/main' into 8mb-benchmark
rach-id c6c6c81
chore: rename
rach-id File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Benchmarks | ||
|
||
This package contains benchmarks for the ABCI methods with the following transaction types: | ||
|
||
- Message send | ||
- IBC update client | ||
- PayForBlobs | ||
|
||
## How to run | ||
|
||
To run the benchmarks, run the following in the root directory: | ||
|
||
```shell | ||
go test -tags=bench_abci_methods -bench=<benchmark_name> app/benchmarks/benchmark_* | ||
``` | ||
|
||
## Results | ||
|
||
The results are outlined in the [results](results.md) document. | ||
|
||
## Key takeaways | ||
|
||
We decided to softly limit the number of messages contained in a block, via introducing the `NonPFBTransactionCap` and `PFBTransactionCap`, and checking against them in prepare proposal. | ||
|
||
This way, the default block construction mechanism will only propose blocks that respect these limitations. And if a block that doesn't respect them reached consensus, it will still be accepted since this rule is not consensus breaking. | ||
|
||
As specified in [results](results.md) document, those results were generated on 16 core 48GB RAM machine, and gave us certain thresholds. However, when we run the same experiments on the recommended validator setup, 4 cores 16GB RAM, the numbers were lower. These low numbers are what we used in the limits. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[optional] rename constants if the other PR merges