记录:v8中数组的sort方法采用的排序策略

61 阅读1分钟

sort使用的是优化后的快排算法,在内部,数据量小于10的时候,使用插入排序对这一部分数据进行排序,其余情况使用快速排序。

数据量大于1000的时候,需要每隔200-215个元素挑出一个元素,从挑选出来的数里面选择中位数,作为快速排序的pivot。

数据量小于1000,大于10,则直接选择中间元素作为pivot。

参考资料

JavaScript中sort的底层实现

v8/src/js/array.js