Skip to content

perf(vision): accelerate Gaussian blur - #42

Merged
rsasaki0109 merged 1 commit into
mainfrom
agent/gaussian-fast-path
Jul 15, 2026
Merged

rsasaki0109 merged 1 commit into
mainfrom
agent/gaussian-fast-path

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

Summary

  • add safe gaussian_blur_u8 and reusable gaussian_blur_u8_into APIs with GaussianBlurU8Workspace
  • accelerate RGB8 3x3/5x5 Gaussian blur with cached Q8 kernels, border/interior specialization, target-feature dispatch, and row parallelism
  • keep 7x7 on the established high-precision path; add NumPy out= support, tests, Criterion coverage, an OpenCV comparison harness, and GitHub Pages documentation

Measured results

  • Native 5x5 allocated path: 20.7x faster at 1080p, 26.7x faster at 4K than the previous SpatialRust implementation
  • Native caller-output + workspace path: 48.4x / 65.9x faster than the previous allocated path at 1080p / 4K
  • OpenCV remains faster for standalone Python calls: 3.10x / 2.93x / 3.58x at 1080p / 4K / 8K
  • Canonical 5x5 profile is bit-exact; 300 randomized 3x3/5x5/7x7 cases have maximum absolute error 2

Validation

  • 17 focused Rust filter tests
  • 115 full vision unit tests + 11 property tests
  • clippy with -D warnings
  • release Python extension build and full binding suite
  • Criterion Gaussian benchmark group
  • 300-case OpenCV accuracy/performance harness
  • rustfmt, rustdoc, and staged diff checks

@rsasaki0109
rsasaki0109 marked this pull request as ready for review July 15, 2026 21:30
@rsasaki0109
rsasaki0109 merged commit 40de6f8 into main Jul 15, 2026
86 of 92 checks passed
@rsasaki0109
rsasaki0109 deleted the agent/gaussian-fast-path branch July 15, 2026 21:34
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.

1 participant