I have a simple application with MVC pages that have no javascript, images or anything other than HTML and Razor C# code (not much). Seems to me that when the pages first load t
Understanding ASP.NET Dynamic Compilation
The first time a Razor view is loaded it's parsed and compiled into a C# class (by default, into a derived type of WebViewPage or WebViewPage), and the view is actually compiled into the Execute Method of that class. Something similar actually happend with old WebForms pages too.
There are also other things in the MVC pipeline that degrade performance on the first call, like the application_start (if it's also the first request for the application), and some other operations with reflection,dependency resolution and other operations that only happen on the first call (they're cached for subsequent calls),.