Первая часть — разбор самой холиварной задачи из четырёх: void forEach(List<Integer> values, PrintStream ps) { values.forEach(ps::println); } void forEach(List<Integer> values, PrintStream ps) { values.stream().forEach(ps::println); } void forEach(List<Integer> values, PrintStream ps) { values.parallelStream().forEach(ps::println); } Под катом условие задач, история их появления, а также разбор первой задачи и статистика её правильных решений среди участников конференции. Читать дальше →
Ходят слухи, что foreach быстрее for. А ещё ходят слухи, что for быстрее foreach. Пора разобраться, что быстрее! Читать далее
Уважаемые читатели, в этой статье я хочу рассказать о скрытых аллокациях в обычном foreach и представить свои выводы. Тесты сделаны на .net 8, .net 9 и .net 10 одновременно, чтобы было видно, как одна и та же строчка кода ведет себя на разных рантаймах.Все тесты сделаны с использованием BenchmarkDotNet, полный код представлен на гите, так что каждый может проверить результаты и сделать свои выводы.Будет три истории, и все три про foreach: Читать далее
Привет!В этой небольшой заметке о быстром енумераторе для foreach на C#:foreach (var i in 1..10)Можно ли сделать его таким же быстрым, как аналогичный for, и какую магию можно попробовать, добиваясь лучшего решения. Будет много бенчмарков и шарплаба. Прошу под кат! Читать далее