Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Do you know any scenario where asp.net mvc can outperform asp.net? Because while comparing these two, people always say that each of them are different beasts and may be a better choice depending upon the scenario.

share|improve this question
2  
Define "outperform" please? –  user8685 Jan 12 '11 at 9:37
    
@Developer Art I am not going to define. Keeping it for others. :P –  Gulshan Jan 12 '11 at 9:49
4  
In my experience, ASP.NET MVC almost always returns a page faster than ASP.NET webforms. I assume that is because there is less overhead in the page model. –  Robert Harvey Jan 12 '11 at 15:50
    
I'd agree with Robert Harvey that MVC would typically out-perform web-forms in most situations because it is far less abstracted than web-forms and hence will have less overhead. –  Dan Diplo Jan 13 '11 at 10:07

4 Answers 4

up vote 5 down vote accepted

I think if you are talking performance like efficiency of HTML generated, speed the page is returned, etc., it doesn't matter which framework you choose. It matters which developers are on the project. You can make a speedy website with either framework, and you can make a horrifically slow website with either framework.

That said, I believe MVC makes you a little more aware of the content you are generating, and the tasks you are performing on the server, and this awareness might make the developers more likely to pay attention to performance, thus resulting in a faster site. But this is a side effect.

share|improve this answer

ASP.Net MVC is ASP.Net - they're the same thing. MVC is one set of handlers, WebForms is another or you could even write your own.

In terms of raw performance they'll be exactly the same, deep down ASP.Net is doing the same actions regardless of the handler.

However, in general MVC apps tend to be much quicker. This is because WebForms abstracts away the underlying HTTP model - developers are thinking in terms of components and their events, rather than in terms of HTTP request and response. It hides parts of the web model that are inconvenient, for instance the lack of actual state model is hidden by WebForms having a massive ViewState object that's sent back and forth with each request.

However all that keeps WebForms apps easy. Desktop developers can build a page, drag in buttons and controls, subscribe their click events and so on using the UI.

MVC deals much more directly with the HTTP pattern, so developers deal in links launching URL actions (which is what the web does), rather than components firing events (which is an abstraction hooked up as the response is processed). You're far less likely to have large hidden form variables and huge scripts added to the page by components, but they also tend (at least at first) to be more work.

So MVC apps are more simple. IMHO that generally means quicker and much more maintainable, but it also means more of a barrier to getting started, especially for desktop devs. They need to understand the request/response model pretty well, there's no decent WYSIWYG UI and they'll spend as much time in Javascript as they do in C#/VB.Net.

All that said nothing matters as much as how good your devs are.

share|improve this answer

I have seen many aps.net web forms suffer from Viewstate bloat which severely affects performance. Using MVC take the problem of Viewstate away which will increase performance - however both web forms and MVC suffer when bad designs or developers are at the helm.

share|improve this answer

I would say that a site that has a lot of dynamic content based on displaying/editing database content (like StackExchange apps and blogs, etc.) will be a good choice to use MVC, while more advanced applications, where you don't have a simple template for how things will look, but has many buttons that will cause anything strange to happen... well morle like a desktop application than a web site, you will rather use asp.net

share|improve this answer
1  
StankExchange? Is that a misspelling or an opinion? :) –  Robert Harvey Jan 12 '11 at 17:25
    
It was a bad misspelling! I am big fan of StackExchange. It is fixed now. –  awe Jan 13 '11 at 8:50
1  
I dunno about the "many buttons" argument. Web applications can be done with ASP.NET MVC as well, both will rely on client side coding (with javascript frameworks such as JQuery). –  Spoike Jan 13 '11 at 9:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.