Forum Discussion

texaspandaa's avatar
texaspandaa
New Contributor
14 years ago

some questions regarding mix code profiling

Dear experts,



I'd like to use AQTime to do the performance testing, my application is built by c# and c++ mixed code, the application is quite big I am not sure  which and how many DLLs will be involved during the runtime exactly, so I would like to know how to make sure that all the required DLLs are added to the module.



My second question is that to test my mixed code application(I already got the souce code and pdb files of  the application), which area shall I select, profile entire .net code or full check? Do we select full check only when we know which DLLs will be loaded in the runtime and add all these DLLs to the module?  I need both of my managed and unmanaged code to be profiled.



The third one is profile <root> routine required to test my application? when shall we use this option?



The last one is which thread model shall I use, Win32 or CLR? does CLR mean that only managed threads will be displayed in the result and my unmanaged threads(c++) will not displayed in the result? If I want to display both my c# and c++ threads which thread model shall I use?



I really appreciate your time, wait for your reply.



Best Regards,

Fan
  • aqAnt's avatar
    aqAnt
    SmartBear Alumni (Retired)

    Hello Fan,





    I suggest that you profile only those modules and define profiling areas only for those routines that you need to get results for as profiling a great amount of code may slow down your application performance. Please see the Controlling What to Profile article for details. 





    You can enable the "Profile Entire .NET Code" area to get results on the <JIT compiler> and <Garbage collector> routines. You can use the <Root> routine to measure the time of initialization statements and overall function calls. Please see the JIT Compiler and Garbage Collector Routines and Root Routine articles for details.





    As for thread models, AQtime reports results of both managed code and unmanaged code no matter which model is set. The results are just grouped differently when you use the "CLR Threads" thread model.