Reduce validation cost - #354
Merged
Merged
Conversation
| - name: Detect relevant paths | ||
| if: ${{ github.event_name != 'workflow_dispatch' }} | ||
| id: filter | ||
| uses: dorny/paths-filter@v4.0.3 |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This change lowers validation latency and memory use by sharing schema metadata and avoiding repeated work.
What changed
Shared validation state
Less work per validation
Performance
Representative reductions versus
main:Repeated validation latency
First validation and memory
Ranges below span the CEL and Rego engines.
Schema metadata is now initialized during engine construction, so construction-only operations do more work. Initialization plus first validation is nevertheless faster for the workloads above, while repeated validation latency and peak memory are lower.