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

Profiling the proposals' transaction processing loop #1874

Open
DrZoltanFazekas opened this issue Nov 21, 2024 · 1 comment
Open

Profiling the proposals' transaction processing loop #1874

DrZoltanFazekas opened this issue Nov 21, 2024 · 1 comment
Assignees
Labels
Agate Required for mainnet launch

Comments

@DrZoltanFazekas
Copy link
Contributor

DrZoltanFazekas commented Nov 21, 2024

The ongoing stress tests revealed that the more transactions (simple ZIL transfers) a block contains, the larger the gap between the block's timestamp and the next block's timestamp. This is due to the fact that every validator incl. the next block proposer spends a large amount of time looping through the transactions in the block they receive, checking and executing them. It's roughly ~40ms per transaction. During this loop there is no interrupt or exit condition i.e. the validators don't time out after 5s (default value of the exponential backoff), it just delays the creation of the next block. We must find the expensive operations performed on every transactions and try to optimize/eliminate them.

@DrZoltanFazekas
Copy link
Contributor Author

Related to the benchmarking James has been doing...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Agate Required for mainnet launch
Projects
None yet
Development

No branches or pull requests

3 participants