Массив с n огромными объектными элементами сортируется медленнее, чем массив с n крошечными объектными элементами? - PullRequest
1 голос
/ 10 марта 2019

Влияет ли размер массива объекта на производительность сортировки массива?

Я подозреваю, что ответ - нет, потому что сортируются только указатели памяти (если я правильно понял). Но я был бы благодарен, если кто-то, кто знает, подтвердит / отвергнет / объяснит это.

Свойство для сортировки содержит число: 1,2,3 и т. Д.

Пример двух массивов:

const arr1 = [{blob: {/*huge object here*/}, order: 1}, /*similar objects*/]

const arr2 = [{smallObject: {foo: 'bar'}, order: 1}, /*similar objects*/]

// sorting like this:
arr.sort((a,b)=> a.order > b.order ? 1 : -1)

Ответы [ 2 ]

3 голосов
/ 10 марта 2019

Нет. Указатели являются единственным способом эффективного представления динамических вложенных структур, поэтому «размер» объектов не повлияет на сортировку, поскольку только указатели должны быть заменены.

Однако размер массива влияет на скорость сортировки, если есть больше элементов, которые нужно отсортировать больше.

1 голос
/ 10 марта 2019

Я создал эталонный тест здесь: http://jsben.ch/vSVZa

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...