Don't use locale-aware comparison for browser names #123
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.
I used
0x
to look at the flamegraphs for (you guessed it!) a CSS build, and found out a lot of time was spent sorting the browser list.It might be a good idea to add an option to disable the sorting, since many use cases don't really need a prettily sorted list anyway?
Anyway, I don't think there's a good reason to use the collation-aware
String.localeCompare()
method for comparing browser names, which are always in ASCII.Performance impact
Using this highly synthetic benchmark which simply calls the
browserlist()
function 10,000 times, this branch is 28% faster than 1.7.3.master
(19b3610): 1.44 secondsno-locale-compare
: (196c739): 1.12 seconds