Skip to content

Add ASV benchmarks for 6 modules changed in v0.9.5#1156

Merged
brendancol merged 3 commits into
masterfrom
issue-1137
Apr 1, 2026
Merged

Add ASV benchmarks for 6 modules changed in v0.9.5#1156
brendancol merged 3 commits into
masterfrom
issue-1137

Conversation

@brendancol
Copy link
Copy Markdown
Contributor

Closes #1137

Summary

  • Add ASV benchmark modules for 6 modules that got memory guard or lazy-reduction fixes in v0.9.5 but had no benchmark coverage: normalize, diffusion, erosion, balanced_allocation, dasymetric, reproject
  • Add Rescale, Standardize, Diffusion, and Dasymetric to the CI benchmark filter in benchmarks.yml (the fast ones; Erosion and Reproject are too slow for CI)
  • All 11 time_* methods verified passing on numpy and dask backends

Test plan

  • All benchmark methods execute without error on numpy backend
  • All benchmark methods execute without error on dask backend
  • Timed runs show no regressions in existing benchmarks (slope, aspect, zonal, cost_distance, surface_distance)
  • CI workflow YAML validates
  • CI benchmark job passes on this PR (add performance label to trigger)

normalize, diffusion, erosion, balanced_allocation, dasymetric,
and reproject all received memory-guard or lazy-reduction fixes
in the v0.9.5 cycle but had no ASV benchmark coverage.

Each new module follows the existing Benchmarking base-class pattern
with appropriate grid sizes and backend params.
#1137)

These four are fast enough (<5ms at 300px) for CI. Erosion and Reproject
are excluded because they're too compute-heavy for PR checks.
- dasymetric.py: add call parens to has_cuda_and_cupy() guard
- reproject.py: move import to module level to keep it out of timed methods
@github-actions github-actions Bot added the performance PR touches performance-sensitive code label Apr 1, 2026
@brendancol brendancol merged commit 10b7f41 into master Apr 1, 2026
11 checks passed
@brendancol brendancol deleted the issue-1137 branch May 4, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance PR touches performance-sensitive code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ASV benchmarks for 6 modules changed in v0.9.5

1 participant