Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET Website vs ASP.NET WebApp: What's the performance difference?

The Difference between an ASP.NET Website and ASP.NET Web Application has been asked many times. However, I couldn't find an answer to my question as to whether there is any real performance difference in using one over the other. Further, it is my understanding that a website project is dynamically compiled; does that means every time a request compiles the requested page?

like image 235
Shyju Avatar asked Sep 18 '10 19:09

Shyju


People also ask

What are the most important performance issues in ASP.NET web applications?

High response time of the ASP.NET request handling service. High CLR wait time. Improper caching. HTTP errors including static and dynamic content errors and connection errors.

What is Web app performance?

Web application performance refers to the quality and efficiency at which a Web application functions. Many factors can impact application performance, including bandwidth capacity, the number of users on a network, application protocols and coding, and attacks that exploit specific application vulnerabilities.


1 Answers

Let's make assumptions here and anyone who made actual tests can add their two cents.

Application start speed difference

Website start:

  • Website has less code to compile => faster
  • Website has to compile + JIT compile => double work

Web application start:

  • Only has to JIT compile => single work
  • Has to compile the whole assembly (or several of them for that matter) => slower, since there's more code to compile

Running application speed difference

When all pages of a website have been accessed, there shouldn't be any speed difference any more. No compiles happen and code just runs. In this regard, both type of Asp.net apps are the same.

Code changes differentiation

Website:

  • changing a particular file slows things down just for that particular file, because it has to compile + JIT compile it again

Webapplication:

  • any change means recompiling the whole assembly, which means more JIT compiling on the server.
like image 50
Robert Koritnik Avatar answered Sep 21 '22 13:09

Robert Koritnik