Infinite Linking time when Performance Analysis is enabled

0 Likes

Problem:

Application takes a very long time to link after DevPartner Studio Performance Analysis enabled

Resolution:

This happens when your application is very big or you have checked 'instrument in-line function' for your application.

Linker performance is usually a function of how much input files you give to it.

NMLink is just a thin wrapper over Microsoft's linker. NMLINK's only job in life is to make sure that the right library lines get included so that all of the DPS symbols will be resolved.

When Performance instruments your app , we add lots of extra goop to the object files. For example, for each function we instrument, there are several symbol Tx specific symbol records and other object file records that must be created.

If your application is very big, try to run it under standalone Performance Analysis to find the bottleneck for it first, and then try to concentrate on the bottleneck.

If you use templates heavily in your application, since the compiler instantiates all the templates for you, by checking "instrument inlines", you're asking for a lot more symbols to be created. The linker has to sort them all out. So we would suggest you either don't instrument inlines, or only use that after identifying some hotspots.

You also can exclude all system images and third-party images out of patching to improve the perfommance. Please note that this exclusion feature only works for those non-instrumented images.

Old KB# 11808
Comment List
Anonymous
Related Discussions
Recommended