Rob*_*ban 3 c# memory asp.net-mvc performance
当使用这两种不同的方式为视图声明模型时,ASP.NET MVC 控制器中的实际内存/性能增益是多少?
User user = userService.GetByID(id);
return View(user);
Run Code Online (Sandbox Code Playgroud)
或者
return View(userService.GetById(id));
Run Code Online (Sandbox Code Playgroud)
我假设最后一个性能更好,因为我们没有初始化对象,但是第一个更具可读性。这在拥有数千名访问者的网络服务器上是否重要?
实际上,您在两种情况下都初始化了一个对象;第一个正在做的第二个不是:1)为变量保留一些空间(这与性能无关,而是空间);2)添加对对象的引用(即增加该对象的引用数),然后删除该行之后的引用(减少引用数)。
我几乎不相信两者之间可以观察到性能差异。
也就是说,我更喜欢第二个,因为那里不需要user
变量;无论如何,这只是一个品味问题,可能有造型原因更喜欢第一个而其他人更喜欢第二个。