-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replacing C++ with Rust #424
Conversation
049e518
to
d78a456
Compare
7f3a1d9
to
4c7855d
Compare
Codecov Report
@@ Coverage Diff @@
## master #424 +/- ##
==========================================
+ Coverage 78.52% 79.59% +1.07%
==========================================
Files 43 45 +2
Lines 6534 6588 +54
Branches 499 454 -45
==========================================
+ Hits 5131 5244 +113
+ Misses 1100 1043 -57
+ Partials 303 301 -2
Continue to review full report at Codecov.
|
Turns out there is only one place that uses the common set returned by While we don't have anything depending on this behavior I suggest we add an |
sounds good - issue or PR or ??
|
369b8af
to
271b3ee
Compare
d32e2fc
to
3b3c533
Compare
4b6bf18
to
d0b26de
Compare
5104d1a
to
6e76c87
Compare
- Update build system and CI - Add Rust install instructions to docs - Remove dependency on Cython (replaced with cffi and milksnake) - Move _minhash.pyx to _minhash.py, and remove Cython bits - Add convenience functions and classes to work with Rust layer - Remove third-party/ directory
Ready for review and merge @ctb |
OMG WHOO!!!! Congrats!!! |
This PR replaces the C++ parts of sourmash with Rust.
Tests are passing, but some optimization might be good (especially on avoiding too many calls/memory copies across the FFI layer).
Other branches/PRs depending on this one:
ijson
, but I decided to keep it separated from this PR because the Python signature loading/saving code is fine (but I needed it implemented in the Rust side for the webassembly parts).There are more details in https://github.com/luizirber/2018-python-rust (the poster presented at BOSC and SciPy 2018).
Checklist
make test
Did it pass the tests?make coverage
Is the new code covered?without a major version increment. Changing file formats also requires a
major version number increment.
changes were made?