Сообщение 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.
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 и перевести всё на массивы"
S>Тоесть итог всей этой болтовни таков. Ты против yield потому, что он с ленивость привносит накладные расходы.
Очевидно, это не так. Я спокойно использую yield там, где это не является узким место. И я точно знаю, где начинается это узкое место.
S>Какие именно? MoveNext и Current я так понимаю. Но на этом Linq то и основан.
Linq основан на IQueryable, а IEnumerable нужн рассматривать как оптимизацию частного случая.
S>А List этих расходов не привносит, хотя нужна лишняя память для заполнение Lista даже если эти данные не понадобятся и лишние вызовы лямд если эти данные уже и не нужны
В большинстве случаев дополнительная память не нужна. В остальных случаях тоже не все однозначно. Ленивый процессинг можно сорганизовать самыми разными способами с производительностью не хуже IEnumerable.
Естественно, я не предлагаю везде заменить IEnumerable массивом. Это стоит делать в числодробилках, когда устраняем узкое место.
Чтото мне подсказывает,через три сообщение напишешь "а ты предлагаешь везде отказаться от IEnumerable и перевести всё на массивы"