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
rightOf
with an implementation based onString.indexes
, which seems consistently much faster (about 10x in the N=1000 case) than the existing regex approach.Interestingly,
leftOf
is faster usingString.indexes
with 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
rightOf
with theString.indexes
based version, since in Webkit it's such a clear win, the performance in Chrome isn't terrible and well... basically nobody uses Firefox...