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));
});
Chromeで最大1700要素の配列を並べ替える時間を1993ミリ秒から5ミリ秒に短縮することができました。ほぼ400倍のスピードアップ。残念ながら、これは英語以外の文字列を正しくソートすることを犠牲にして行われます。
明らかに、並べ替えを実行しようとすると、UIを2秒間ブロックすることはできません。ひどく遅いlocaleCompareを回避しながら、ローカライズされた文字列のサポートを維持するためにできることはありますか?