Application Startup Time is Now Important that the Past
Imagine that you are running an application and you are waiting for the application to load! How much time can you wait? Application startup time is the first point of interactions between user and application and it affects user’s satisfaction.These days, some companies like Google have chosen application startup time as a core competency of their products.
Browsers Fight as an Example

In browsers fight, the startup time of a browser is very important now and this change our users' taste about application startup time and they expect us to improve our application startup time even better that the past!
General Techniques for Improving Application Startup Time
Improving startup time of the application can be done into two categories :
- Properly using of programming platform
- Writing better code
Properly Using of Programming Platform
Each programming platform has its own tips and tricks to gain much more performance of it. Generating native image of assemblies in .Net Framework skips Just-In-Time compiling of intermediate code into machine languages and speed up application startup. By using ngen.exe, you can improve performance of managed applications.As an another example in web applications, consider responding to first request to a web application.If it takes a long time to receive response of the ASP.Net web applications at first request, you can use ASP.NET Compilation Tool to precompile the application in place.
Writing Better Code
You must take into consideration performance concerns when writing and reviewing application initialization code.Write codes that adhere to the following rules:
- Load fewer components at startup
One of the major issues about application startup is number of components must be loaded at the first. Decreasing this improve startup of the application.You can use techniques that need fewer component or you can postpone some activities at the start of the application.
Proactive loading is some kind of caching contents, states in the application.By using this method, you retrieve some of the required data at the startup and caching them for future usage.Doing this means increasing application startup, so be careful when using proactive loading and try to avoid it, if it is not necessary.
-
In the next post, I’ll describe some techniques to achieving the above goals.
Other Resources
The following are some useful resources for .Net Developers about application startup performance:
Quote of the Day:
The difference between fiction and reality is that fiction has to make sense.
--Tom Clancy