Skip to content

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

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

Add ASV benchmarks for 6 modules changed in v0.9.5#1156
brendancol merged 3 commits intomasterfrom
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
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