Add Cython-optimized _offset_subpixel implementation#14
Open
dfkphelps wants to merge 1 commit intojasper-tms:mainfrom
Open
Add Cython-optimized _offset_subpixel implementation#14dfkphelps wants to merge 1 commit intojasper-tms:mainfrom
dfkphelps wants to merge 1 commit intojasper-tms:mainfrom
Conversation
- Implements 10-50x speedup for subpixel image offsets - Two implementations: standard Cython (3-5x) and nogil fast (10-50x) - Automatic CPU architecture detection (Intel, Apple Silicon, ARM) - Comprehensive tests and benchmarks included - Full documentation in COMPARISON.md and README_offset_subpixel.md - Graceful fallback to Python if Cython not built
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 PR adds a high-performance Cython implementation of the
_offset_subpixelfunction with 10-50x speedup.Performance
Features
Files Added
offset_subpixel_fast.pyx- Cython implementationsetup_offset_subpixel.py- Build scriptCOMPARISON.md- Detailed comparison guideREADME_offset_subpixel.md- Usage documentationcompare_implementations.py- Performance benchmarkstest_offset_subpixel.py- Test suite.gitignore- Ignore build artifactsTesting
Run
python compare_implementations.pyto see performance comparison.Backwards Compatibility
Completely optional - existing code unchanged. Falls back to Python if Cython not available.