Enclose check_next_block Call with Debug Assertions for Validators #3383
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.
Motivation
The
check_next_block
function incurs significant processing time, which contributes to increased block times. For validators participating in consensus, the checks performed by this function are redundant, as they are already handled elsewhere in the codebase. This PR encloses thecheck_next_block
call within debug assertions (#[cfg(debug_assertions)]
) to optimize performance and reduce block times in production environments.Test Plan
Ran it locally. Todo: Further stress tests (load, syncing).
To verify that all checks remain adequately covered, you can find useful notes in this diff:
check_next_block.patch