An MVC3 application is being developed and multiple (multi-second) startup times are in progress. Profiling profiles with ANTS binds the only significant contributor to boot time as "(JIT overhead)" at 85-90% of the time spent on the load. Subsequent downloads of the same page are nearly instantaneous and spend ~ 5% of their time in JIT.
I used NGEN on downloadable assemblies (and made sure they were in the GAC), and used the aspnet_compiler tool to precompile the site itself. None of them have a significant impact on the initial launch time.
What other options exist to reduce the impact of JIT on initial loads?
Brian source share