在nodejs中对一些非常大的数组进行排序时,我目前遇到内存问题。我正在使用内置排序方法。我们有一个包含许多重复项的数组,例如 [1,1,1,1,1,1,1,3,1,2,2,1,2,2,2,3,3,3,3](澄清:但是我们实际上正在排序的东西是一个数组JSONObjects,其中我们排序的键大部分是重复的)。 我看到nodejs排序是原位的,但不是稳定的,并且想知道不稳定的部分是否也对nodejs中的内存有影响(我知道这样做不应该)。
由于我没有找到实现测试的BlockSort,所以我想知道是否有人会知道。同样更普遍的是,如果有人知道我可以测试的内存效率更高的排序库,我将不胜感激。 我希望可以优化的一个例子
function com<T>(a: T, b: T): number {
if (a > b) {
return 1;
}
if (a < b) {
return -1;
}
return 0;
}
data.sort((a, b) => com(a.SomeString, b.SomeString))