JavaScriptの配列にはsortメソッドがあり配列のソートを実行することができるけど、この配列のソートの中の実装はどうなっているのかという話。v8における配列ソートについての記事が大変参考になりました。 Chrome(V8)の実装はarray.jsにあり、配列の要素数が10以下の場合はInsertion sortを使い、それ以上の場合はQuicksortを利用する。Insersion sortの計算量はO(n^2)であるけど、少ない要素数の場合はQuicksortなどより高速になるらしい。直近のcommmitを見る限りだと、Chrome 69か70あたりでTimsortに置き換えるつもりらしい。TimsortはaverageがO(n log n)で、最悪でもO(n log n)の計算量で済む。QuicksortをTimSortに置き換えるつもりに至った経緯などは調べてない(ので間違っ
![Array.prototype.sort について](https://cdn-ak-scissors.b.st-hatena.com/image/square/ff5b08c5be3f4dfae4d64d1ee429ab04ba30fb22/height=288;version=1;width=512/https%3A%2F%2Fmemolog.org%2Fassets%2Fimages%2Fmax-panama-387781-unsplash%2Fmax-panama-387781-unsplash.jpg)