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.
Re: #193
@amilajack I took a look at the performance here, and found that a surprising amount of the cost of the
lint()
function is coming from thosepolyfills.has()
lookups, even whenpolyfills
is a very small set (the project I tested this change against has only 3). So the main optimization here is:Before
filter
rules down to those that aren't polyfilledrule.isValid()
After
filter
steprule.isValid()
before checking for polyfillsThis simple change cut the time it takes to run
compat/compat
against my project by more than half, from ~13s to ~5.5s! 😮