Информация об изменениях

Сообщение Re[34]: Есть ли подобие LINQ на других языках/платформах? от 22.04.2021 11:06

Изменено 22.04.2021 11:37 Pauel

Re[34]: Есть ли подобие LINQ на других языках/платформах?
Здравствуйте, Serginio1, Вы писали:

S>Тоесть итог всей этой болтовни таков. Ты против yield потому, что он с ленивость привносит накладные расходы.


Очевидно, это не так. Я спокойно использую yield там, где это не является узким место. И я точно знаю, где начинается это узкое место.

S>Какие именно? MoveNext и Current я так понимаю. Но на этом Linq то и основан.


Linq основан на IQueryable, а IEnumerable нужн рассматривать как оптимизацию частного случая.

S>А List этих расходов не привносит, хотя нужна лишняя память для заполнение Lista даже если эти данные не понадобятся и лишние вызовы лямд если эти данные уже и не нужны


В большинстве случаев дополнительная память не нужна. В остальных случаях тоже не все однозначно. Ленивый процессинг можно сорганизовать самыми разными способами с производительностью не хуже IEnumerable.
Re[34]: Есть ли подобие LINQ на других языках/платформах?
Здравствуйте, Serginio1, Вы писали:

S>Тоесть итог всей этой болтовни таков. Ты против yield потому, что он с ленивость привносит накладные расходы.


Очевидно, это не так. Я спокойно использую yield там, где это не является узким место. И я точно знаю, где начинается это узкое место.

S>Какие именно? MoveNext и Current я так понимаю. Но на этом Linq то и основан.


Linq основан на IQueryable, а IEnumerable нужн рассматривать как оптимизацию частного случая.

S>А List этих расходов не привносит, хотя нужна лишняя память для заполнение Lista даже если эти данные не понадобятся и лишние вызовы лямд если эти данные уже и не нужны


В большинстве случаев дополнительная память не нужна. В остальных случаях тоже не все однозначно. Ленивый процессинг можно сорганизовать самыми разными способами с производительностью не хуже IEnumerable.
Естественно, я не предлагаю везде заменить IEnumerable массивом. Это стоит делать в числодробилках, когда устраняем узкое место.
Чтото мне подсказывает,через три сообщение напишешь "а ты предлагаешь везде отказаться от IEnumerable и перевести всё на массивы"