Skip to content

Speed up core logic using Rust#31

Open
jacobwhall wants to merge 8 commits intosgoodm:masterfrom
jacobwhall:master
Open

Speed up core logic using Rust#31
jacobwhall wants to merge 8 commits intosgoodm:masterfrom
jacobwhall:master

Conversation

@jacobwhall
Copy link
Copy Markdown
Contributor

This PR rewrites some of the core distance calculations in Rust, using crates such as kiddo (k-d trees) and rayon (parallelization) to faithfully re-implement this logic. The result is a drop-in replacement for the original, passing all tests and running significantly faster.

A few notes:

  • I have used uv for dependency management and to run CI tests
  • Maturin handles cross-platform compilation for package distribution
  • Since I was already working in pyproject.toml, I went ahead and bumped the version to 0.4.0

I recommend releasing something like 0.4.0-alpha to ensure the package distributes correctly, and give end users the chance to test this package in their environments before making a full 0.4.0 release.

@jacobwhall
Copy link
Copy Markdown
Contributor Author

I removed the progress_bar option, since it will need a reimplementation in Rust.

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