Aligning with changes in jellyfish library #4
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.
The jellyfish library has undergone significant changes recently, including a switch to a Rust-based implementation for its algorithms. This change has led to performance regressions in certain functions, as reported by users.
Performance Regression: The switch to Rust has caused performance issues in some functions, such as the Hamming distance calculation. Users have reported substantial slowdowns compared to the previous C-based implementation4
Changes in Function Names: The library has also renamed some functions for consistency. For example, jaro_winkler has been deprecated in favor of jaro_winkler_similarity to match the naming convention of other functions3
In that context, it is best to switch to Rapidfuzz jarowinkler implemetation.
#from jellyfish import jaro_winkler_similarity # Slow in new jellyfish implementation
"""
Rapidfuzz replacement for jellyfish
https://github.com/rapidfuzz/JaroWinkler
pip install jarowinkler
"""
from jarowinkler import jarowinkler_similarity as jaro_winkler_similarity # Rapidfuzz efficient replacement for Jellyfish