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.
what
This short PR removes a number of
dynamic_cast
casts in the codebase, some of which are performed twice and could be rewritten to perform the runtime cast only once.why
dynamic_cast
is performed at runtime and requires inspecting the object's RTTI information to perform the cast. Executing it more than once incurs a bit of a performance cost that could be avoided by rewriting the code snippet. Additionally, the rewritten code is shorter and thus easier to read and maintain.For example (from
src/rule_with_actions.cc
):can be rewritten as:
misc
This is part of a series of PRs to improve performance of the library (2/n). Previous: #3164