Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
How to reduce JIT time during initial start of Windows Store apps
Article ID: 2715214 - View products that this article applies to.
When a user installs a Windows Store app that is written in Microsoft Visual C# or in Microsoft Visual Basic, there are no native images for the app. Instead, the just-in-time (JIT) compiler runs during app startup. If there is a large volume of code in the startup path, users may experience slower-than-expected performance when they start the app. However, you can reduce the impact of JIT compilation when the Windows Store app starts by using the multi-core JIT compilation feature.
Native images are automatically generated for all Windows Store apps that are written in Visual C# or in Visual Basic. This occurs as a background task. After the native images are generated, JIT compilation is no longer required for most methods, and your app benefits from improved startup performance. Native images are typically generated within 24 hours of installation, although it may take longer, depending on the way the computer is used. Until that time, startup performance may be affected by JIT compilation time. For more information, go to the following Microsoft websites:
Creating native images
Native image taskIf an app executes a large volume of code during startup, the time that is required by the JIT compiler may be noticeable to users. On multi-core computers, you can frequently reduce this time by 20 to 50 percent by using the multi-core JIT feature. To use multi-core JIT for Windows Store apps, follow these steps:
At startup, the profile data is used to predict which methods will be needed so that they can be compiled beforehand on a separate core.
You must generate the profile by using the same version of the app that you plan to package the profile with, because any code changes can invalidate the profile. An invalid profile typically makes startup performance worse.
Note This feature resembles the multi-core JIT feature for desktop apps. For desktop apps you can turn on multi-core JIT for individual application domains by using the ProfileOptimization class (http://go.microsoft.com/fwlink/p/?LinkId=253476)
(http://go.microsoft.com/fwlink/p/?LinkId=253476). This class is not available for Windows Store apps.
Generating and packaging profilesThe common language runtime (CLR) uses a file-based trigger to determine whether to generate multi-core JIT profile data for a Windows Store app. To generate a profile, follow these steps:
Important If you make any code changes to your app, you must re-generate the profile.
Article ID: 2715214 - Last Review: May 15, 2013 - Revision: 6.0