Fixes rightOf/leftOf misbehaving with newlines #75
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.
Fixes #65.
It replaces
rightOfwith an implementation based onString.indexes, which seems consistently much faster (about 10x in the N=1000 case) than the existing regex approach.Interestingly,
leftOfis faster usingString.indexeswith a low number of matches (for instance when tested with 10 matches), but becomes significantly slower as the number of matches increases (with a 1000 matches, it is much slower than the regex version).Those are the results in Webkit. In Chromium the results look a bit different:
Same thing in Spidermonkey:
At the moment I'm thinking of replacing
rightOfwith theString.indexesbased version, since in Webkit it's such a clear win, the performance in Chrome isn't terrible and well... basically nobody uses Firefox...