Skip to content

johsol/iterator benchmark range#37220

Merged
johansolbakken merged 6 commits into
masterfrom
johsol/iterator-benchmark-range
Jun 17, 2026
Merged

johsol/iterator benchmark range#37220
johansolbakken merged 6 commits into
masterfrom
johsol/iterator-benchmark-range

Conversation

@johansolbakken

Copy link
Copy Markdown
Contributor
  • Make numeric attribute
  • Add AttributeRangeFactoryBuilder
  • Add range_attr test case and add fetch postings timer

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the iterator benchmark test harness with a new attribute range-search benchmark case, adds support for building numeric attributes for benchmarks, and records fetch-postings timing as part of benchmark results.

Changes:

  • Added AttributeRangeBlueprintFactory (+ RangeConfig) to generate blueprints for attribute range queries.
  • Added AttributeContextBuilder::add_numeric() to populate integer attributes from a generator.
  • Extended benchmark reporting/pond recording with fetch_postings_time_ms and added a new analyze_attr_range test case.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
searchlib/src/tests/queryeval/iterator_benchmark/leaf_blueprint_factory.h Adds RangeConfig and AttributeRangeBlueprintFactory declarations.
searchlib/src/tests/queryeval/iterator_benchmark/leaf_blueprint_factory.cpp Implements range attribute population and creates a SimpleRangeTerm blueprint.
searchlib/src/tests/queryeval/iterator_benchmark/iterator_benchmark_test.cpp Adds fetch-postings timing, range config fields, and a new ATTR_RANGE benchmark test.
searchlib/src/tests/queryeval/iterator_benchmark/blueprint_factory_builder.h Declares attr_range() factory builder entry point.
searchlib/src/tests/queryeval/iterator_benchmark/blueprint_factory_builder.cpp Implements attr_range() by constructing AttributeRangeBlueprintFactory.
searchlib/src/tests/queryeval/iterator_benchmark/attribute_ctx_builder.h Declares AttributeContextBuilder::add_numeric().
searchlib/src/tests/queryeval/iterator_benchmark/attribute_ctx_builder.cpp Implements add_numeric() to create and populate an integer attribute.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@johansolbakken johansolbakken requested a review from havardpe June 16, 2026 14:29
havardpe
havardpe previously approved these changes Jun 17, 2026
@johansolbakken johansolbakken merged commit d987184 into master Jun 17, 2026
3 checks passed
@johansolbakken johansolbakken deleted the johsol/iterator-benchmark-range branch June 17, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants