mixtape774
@mixtape774
Занимаюсь Web, Desktop разработкой и реверсингом

Как влияет на производительность инициализация переменных в цикле на языке C#?

Вечер добрый, знатоки C#. Задался таким вопросом: "Влияет ли на производительность инициализация переменных в цикле? или следует инициализировать переменные вне цикла?". Крайне важна производительность, т.к. приложение многопоточное (около 100 потоков).

Пример 1 (инициализация за пределами цикла):
string response;
            for (int i = 0; i < 4; i++)
            {
                response = Send("DoSomething", "arguments");
            }


Пример 2 (инициализация внутри цикла):
for (int i = 0; i < 4; i++)
            {
                string response = Send("DoSomething", "arguments");
            }


Какой вариант производительней? и есть ли вообще разница в компилируемом IL коде? (reflector'a нет под рукой). Заранее спасибо за ответы.
  • Вопрос задан
  • 2761 просмотр
Решения вопроса 1
EndUser
@EndUser
"Как влияет на производительность инициализация переменных в цикле" - всегда плохо.

С другой стороны, вы могли бы не лениться и прогнать оба варианта на 100e6 циклов.

С третьей стороны, можете почитать "верёвку достаточной длины, чтобы выстрелить себе в ногу", чтобы уровень ваших вопросов, тэ-скэть, стал менее тривиальным.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mequasar
Конечно первый вариант быстрее.
Вы не тратите времени на создание объекта string.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
21 мар. 2023, в 22:37
500 руб./за проект
21 мар. 2023, в 21:50
300000 руб./за проект