Переключение функции сортировки javascript из
myArray.sort(function (a, b) {
return a.name.localeCompare(b.name);
});
к
myArray.sort(function (a, b) {
return (a.name < b.name ? -1 : (a.name > b.name ? 1 : 0));
});
Мне удалось сократить время сортировки массива элементов размером ~ 1700 в Chrome с 1993 по миллисекунды до 5 миллисекунд. Почти 400-кратное ускорение. К сожалению, это происходит за счет правильной сортировки неанглийских строк.
Очевидно, я не могу заблокировать свой пользовательский интерфейс в течение 2 секунд, когда я попытаюсь выполнить сортировку. Есть ли что-нибудь, что я могу сделать, чтобы избежать ужасно медленного localeCompare, но все же поддерживать поддержку локализованных строк?