Technical Notes |
|
This technical note describes factors that affect the startup performance of Reflection 2008 and 2007 products, and explains how to reduce application launch time, particularly on Windows XP.
The latest Reflection products use the Microsoft .NET Framework managed code programming model for building applications on Windows clients. Managed code is compiled into the Microsoft Intermediate Language (MSIL) for the .NET runtime environment. When the application is first run, the Just-In-Time (JIT) compiler translates the assemblies and metadata into optimized x86 (32-bit) or x64 (64-bit) native machine language instructions.
This design takes full advantage of features provided by each system’s processor. For example, when the compiler runs on an Intel processor, the produced code takes advantage of hyper-threading technology (HTT). Another advantage of JIT compiling is its potential to improve runtime performance. When certain application code is heavily executed in multiple iterations, the JIT-compiled code is automatically re-tuned as your program runs.
Cold start refers to launching the application for the first time after boot. During a cold start, the JIT compiler translates the assemblies and metadata into native instructions and loads these modules into memory.
Warm start refers to re-launching the application after other sessions have been opened and closed. A warm start is faster than a cold start because many program files have been cached in memory by the operating system, thus reducing the amount of disk activity.
Performance of Windows applications are impacted by a variety of system characteristics. The following factors are known to affect the startup time for Reflection.
Cold start of the runtime environment for .NET applications on Windows XP is much slower than on Windows Vista. Windows Vista includes SuperFetch which enables programs and files to load faster. (For more details on SuperFetch, see http://www.microsoft.com/windows/products/windowsvista/features/details/superfetch.mspx.)
Warm startup time of the .NET runtime is primarily dictated by the speed of the CPU.
Cold startup time of a .NET application depends primarily on the speed and efficiency of the hard disk drive. Cold start performance is improved with a faster drive and less fragmented data.
A low amount of system memory causes the operating system to use virtual memory on disk, which slows performance.
Real-time scanning of files can slow performance of disk activity.
Battery conservation and energy-saving configurations can slow the system processing power, increasing startup time.
If the time elapsed between an application cold start and a subsequent warm start is substantial, the operating system may have swapped program files out of the memory-resident cache. In this scenario, startup performance may revert to cold start levels.
To reduce startup time of Reflection for IBM 2007 on Windows XP systems, after considering the above performance factors, the following additional approaches are available. Note: Reflection 2008 already includes the following features.
To improve Reflection 2007 cold start time on Windows XP, pre-loader functionality is included in Service Pack 3. After the service pack is applied, a portion of Reflection for IBM 2007 (the Workspace) goes through the JIT compiling process at boot time. Depending on the environment, application cold startup time may be reduced up to 35-50%. For more information about the latest service pack, see Technical Note 2253.
The Microsoft .NET Native Image Generator utility (Ngen.exe) pre-compiles the application at install time, slightly improving the warm and cold start times.
A hotfix can be applied as an MSP patch to an Administrative Installation of Reflection 2007 prior to application deployment. For more information on applying a patch to an Administrative Installation, see Technical Note 2255.
To request this NGEN hotfix for Reflection 2007, please contact Technical Support (http://support.attachmate.com/contact/).
The pre-loader and NGEN fixes can be combined. In some Windows XP system configurations, this may provide the best cold and warm startup performance. Reflection 2008 already includes both startup performance improvements.