dmsnell / diff-match-patch

Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
Apache License 2.0
23 stars 5 forks source link

Improve bitap algorithm with obvious shortcuts #13

Open mnemnion opened 2 months ago

mnemnion commented 2 months ago

This patches python3 diff_match_patch.py to take two shortcuts in bitap score calculation. First, it does an integer comparison before forcing a cast to float, and second, if it gets a score of 0.0, it returns it.

All relevant tests pass, as I would expect, because one can demonstrate that this works just by reading the code carefully.

I know that this patch could be transfered to the C# version as well, I suspect that all versions have this inefficiency.