-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
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
[WIP] gh-132166: Add check in find_longest_match for checking if sequences are identical #132167
base: main
Are you sure you want to change the base?
[WIP] gh-132166: Add check in find_longest_match for checking if sequences are identical #132167
Conversation
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, see my question in #132166 (comment)
It appears to fix issue when comparing two slightly different strings ends up | ||
with waiting forever for the result. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It appears to fix issue when comparing two slightly different strings ends up | |
with waiting forever for the result. | |
It appears to fix issue when comparing two slightly different strings ends up | |
with waiting forever for the result. |
We should be more confident here. Does it fix the issue or not? if so, let's say it. Otherwise, let's not give tentative conclusions.
Add checking if sequences ``a[alo:ahi]`` and ``b[blo:bhi]`` are the same on the | ||
beginning of the method find_longest_match in SequenceMatcher. For identical | ||
sequences there is no reason to run whole logic when simple check can be done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This NEWS should be summarized. I suggest something like (assumiong that the method is documented, if not use a plain
Add a fast path in :meth:`SequenceMatcher.find_longest_match
<difflib.SequenceMatcher.find_longest_match>` to handle the
case when ``a[alo:ahi] == b[blo:bhi]``.
|
||
# Check if both sequences are the same before executing rest of the | ||
# method. | ||
if a[alo:ahi] == b[blo:bhi]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this covered in tests? if not, please add a test, otherwise no need to add a large one.
As mentioned in #132166 added checking if both sequences are identical at the beginning of the method
find_longest_match
inSequenceMatcher
class.SequenceMatcher.find_longest_match
#132166