2009-08-31 3 views
3

뷰에 대해 모델을 선언하는 두 가지 다른 방법을 사용할 때 ASP.NET MVC 컨트롤러에서 실제 메모리/성능 이득은 얼마입니까?ASP.NET MVC에서 뷰에 대한 모델을 초기화하는 다른 방법

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

또는

return View(userService.GetById(id)); 

나는 그러나 첫 번째가 더 읽기, 우리가 객체를 초기화하지 않는 마지막 하나는 좀 더 성능이 좋은 것을 가정하여하고있다. 수천 명의 방문자가있는 웹 서버에서도이 점이 중요할까요?

답변

4

사실 두 경우 모두 개체를 초기화합니다. 첫 번째 작업은 두 번째 작업이 아니라는 것입니다. 1) 변수 (성능과 관련이 없지만 공간)를위한 공간을 확보하십시오. 2) 객체에 대한 참조를 추가합니다 (즉, 해당 객체에 대한 참조 수를 증가시킵니다). 그런 다음 행을 참조 (참조 수를 줄임)합니다.

성능 차이가 둘 사이에서 관찰 될 수 있다고 나는 거의 믿지 않을 것입니다.

나는 두 번째를 선호한다. 변수가 필요 없다. 어쨌든, 그것은 맛의 문제 일뿐입니다. 첫 번째와 다른 두 번째를 선호하는 스타일링 이유가있을 수 있습니다.

+0

글쎄,'userService.GetById'가 객체를 만들거나 기존 객체를 반환하는지 모르겠지만 자신이 분명히했으면 좋겠다. – giorgian

4

할당 된 메모리와 가비지 수집기의 동작에 관계없이 두 문 간에는 차이점이 없습니다. 선호하는 것을 사용하십시오 :-)

관련 문제