Различные способы инициализации модели для представления в ASP.NET MVC - PullRequest
3 голосов
/ 31 августа 2009

Сколько составляет фактическое увеличение памяти / производительности в контроллере ASP.NET MVC при использовании этих двух различных способов объявления модели для представления?

User user = userService.GetByID(id);
return View(user);

или

return View(userService.GetById(id));

Я полагаю, что последний является немного более производительным, так как мы не инициализируем объект, однако первый является более читабельным. Будет ли это иметь значение для веб-сервера с тысячами посетителей?

Ответы [ 2 ]

4 голосов
/ 31 августа 2009

На самом деле, вы инициализируете объект в обоих случаях; то, что первый делает, а второе не: 1) резервирует некоторое пространство для переменной (которая касается не производительности, а пространства); 2) добавьте ссылку на объект (то есть увеличьте количество ссылок для этого объекта), а затем удалите ссылку (уменьшите количество ссылок) на строку после.

Я бы вряд ли поверил, что разница в производительности наблюдается между этими двумя.

Тем не менее, я предпочитаю второе, поскольку там нет необходимости в переменной user; в любом случае, это просто вопрос вкуса, могут быть причины, по которым стилистика предпочитает первое, а другие предпочитают второе.

4 голосов
/ 31 августа 2009

Существует нулевая разница между двумя операторами относительно объема выделяемой памяти и поведения сборщика мусора. Используйте тот, который вы предпочитаете читать: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...