Feature/171 implement point in polygon lookup query#196
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new “point-in-polygon lookup” benchmark to the benchmarking framework, wiring it into runtime entrypoints, dispatch, container builds, and experiment configuration for both DuckDB and PostGIS backends.
Changes:
- Introduces DuckDB and PostGIS entrypoints implementing point-in-polygon lookup benchmark logic (including point generation).
- Registers the new benchmarks across DI wiring,
benchmark_runner.pydispatch,benchmarks.yml, and Docker Compose/ACR workflow. - Extends
BenchmarkIterationwith a new iteration count for the benchmark.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/presentation/entrypoints/point_in_polygon_lookup_duckdb.py | New DuckDB benchmark entrypoint and point generation logic. |
| src/presentation/entrypoints/point_in_polygon_lookup_postgis.py | New PostGIS benchmark entrypoint and point generation logic. |
| src/presentation/entrypoints/init.py | Exposes the new entrypoints for importing/dispatch. |
| src/presentation/configuration/app_config.py | Wires new entrypoint modules into dependency injection. |
| src/domain/enums/benchmark_iteration.py | Adds iteration value for the new benchmark. |
| docker-compose.yml | Adds services to run the new benchmark containers locally. |
| benchmarks.yml | Registers new experiments/images for orchestration/costing. |
| benchmark_runner.py | Adds script-id dispatch cases for the new benchmarks. |
| .github/workflows/push-containers-to-acr.yml | Adds new services to the image build/push matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/presentation/entrypoints/point_in_polygon_lookup_postgis.py
Outdated
Show resolved
Hide resolved
src/presentation/entrypoints/point_in_polygon_lookup_postgis.py
Outdated
Show resolved
Hide resolved
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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 pull request adds support for a new "point-in-polygon lookup" benchmark for both DuckDB and PostGIS backends. It introduces new entrypoints, updates configuration files to include these benchmarks, and implements the logic for generating and testing points inside and outside polygons. The changes ensure that the new benchmarks are integrated into the workflow, Docker setup, and experiment definitions.
New Benchmark Implementation:
src/presentation/entrypoints/point_in_polygon_lookup_duckdb.py[1]src/presentation/entrypoints/point_in_polygon_lookup_postgis.py[2]src/presentation/entrypoints/__init__.py[1]src/presentation/configuration/app_config.py[2]Configuration and Workflow Updates:
benchmarks.ymland to the Docker Compose services, making them available for benchmarking runs. (benchmarks.yml[1]docker-compose.yml[2].github/workflows/push-containers-to-acr.yml.github/workflows/push-containers-to-acr.ymlR125-R132)Benchmark Runner Integration:
benchmark_runner.pydispatch logic and imports, enabling them to be run by script ID. (benchmark_runner.py[1] [2]Domain Update:
src/domain/enums/benchmark_iteration.pysrc/domain/enums/benchmark_iteration.pyR16)