Re[2]: Oпять непонятки, и где искать ответ тоже не поятно
От: Somescout  
Дата: 28.12.19 07:49
Оценка:
Здравствуйте, Sinclair, Вы писали:

var set2 = (from item in set1 where (item < mx && item > mn) select item).ToArray(); // принудим материализацию, чтобы избежать той же проблемы.


А разве ToArray в общем случае (когда не известно число элементов) не дороже вызова ToList?
ARI ARI ARI... Arrivederci!
Re[3]: Oпять непонятки, и где искать ответ тоже не поятно
От: Ночной Смотрящий Россия  
Дата: 28.12.19 10:13
Оценка:
Здравствуйте, Somescout, Вы писали:

S>А разве ToArray в общем случае (когда не известно число элементов) не дороже вызова ToList?


В общем случае нет — внутри ToArray примерно тот же алгоритм выделения буферов, что и внутри List. Конечно, если внутренний буфер не совпадает размерами с результатом, в ToArray будет одно лишнее копирование, но в List мы потеряем на доступе к элементам из-за дополнительной проверки диапазонов.
На практике в 99.99% случаев заметной разницы не будет.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Oпять непонятки, и где искать ответ тоже не поятно
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.12.19 06:00
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Здравствуйте, Sinclair, Вы писали:


S>
S>var set2 = (from item in set1 where (item < mx && item > mn) select item).ToArray(); // принудим материализацию, чтобы избежать той же проблемы.
S>


S>А разве ToArray в общем случае (когда не известно число элементов) не дороже вызова ToList?

Ну мы же не о производительности тут.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Oпять непонятки, и где искать ответ тоже не поятно
От: VladCore  
Дата: 06.01.20 20:28
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, Somescout, Вы писали:


S>>А разве ToArray в общем случае (когда не известно число элементов) не дороже вызова ToList?


НС>На практике в 99.99% случаев заметной разницы не будет.


Да, но тут речь про общий случай. Если говорить про общий случай, то сериализация или другая обработка может заметно отличается по производительности.

Как то решили для Web API переделать наружный интерфейс из коллекций в обычный массивы — раздача обычных массивов было самой нагруженной частью.
Отредактировано 06.01.2020 20:31 VladCore . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.