Optimize ordinal inputs in Values aggregation (#127849)#129009
Merged
dnhatn merged 1 commit intoelastic:8.19from Jun 6, 2025
Merged
Optimize ordinal inputs in Values aggregation (#127849)#129009dnhatn merged 1 commit intoelastic:8.19from
dnhatn merged 1 commit intoelastic:8.19from
Conversation
Currently, time-series aggregations use the `values` aggregation to collect dimension values. While we might introduce a specialized aggregation for this in the future, for now, we are using `values`, and the inputs are likely ordinal blocks. This change speeds up the `values` aggregation when the inputs are ordinal-based. Execution time reduced from 461ms to 192ms for 1000 groups. ``` ValuesAggregatorBenchmark.run BytesRef 10000 avgt 7 461.938 ± 6.089 ms/op ValuesAggregatorBenchmark.run BytesRef 10000 avgt 7 192.898 ± 1.781 ms/op ```
2cd1efd to
78beedb
Compare
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.
Backport of #127849 to 8.19.
Currently, time-series aggregations use the
valuesaggregation to collect dimension values. While we might introduce a specialized aggregation for this in the future, for now, we are usingvalues, and the inputs are likely ordinal blocks. This change speeds up thevaluesaggregation when the inputs are ordinal-based.Execution time reduced from 461ms to 192ms for 1000 groups.