LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI Execution Profiler - DLL overhead

Solved!
Go to solution

Hello,

 

I'm using CVI execution profiler toolkit to analyze performance in system where a implicity linked DLL is called from an application exe.

 

It appears that in many of the statistics the component time % for the exported DLL function is roughly half the overall time for the component.

 

For example (with 'dll_function' selected in profiler):

 

+exe_function

-dll_function                         50%

DebugPrintf                48%

OtherFunction              2%

      

 

Would this time coorelate with overhead of calling the DLL?

 

 

Thank you for any help in regards to this.

 

0 Kudos
Message 1 of 6
(4,206 Views)

Hey jharris,

 

I ran one of our simple examples and saw somewhat similar behavior--my GetUserEvent function takes about 66% of the time and the DLL function takes 33%. In my case, this simply means that the code is spending more of its time running the GetUserEvent function than in the DLL function. I'd expect this, since the GetUserEvent function is checking for UI updates. 

 

Is your exe function doing something other than just calling the DLL function, and do you see the other 50% of time anywhere else in the execution profile? If so, I suspect that it's just indicating that only half of your execution time is spent in the DLL function.

0 Kudos
Message 2 of 6
(4,182 Views)

Daniel E,

 

It seems like when I click the DLL function in profiler the component times for the function and it's callee functions all add up to 100%.

 

Therefore, I wondered if the component time shown for the  function itself could be overhead or maybe the time to initialize the stack when entering function? 

0 Kudos
Message 3 of 6
(4,179 Views)
Solution
Accepted by jharris66

jharris66,

 

I believe that would be a safe assumption, but since I'm not seeing the same behavior on my system, I can't confirm whether that's because your DLL is more complex than mine or because something else is contributing to the timing. Would it be possible to see a screenshot of the profiler and the code contained in your DLL function?

0 Kudos
Message 4 of 6
(4,148 Views)

Hi,

 

What is the dependent dll we need to copy on target system on Windows system with out LABWindows installed when we include "nivision.h" and "NIIMAQdx.h" in CVI dll.

Regards,

0 Kudos
Message 5 of 6
(3,973 Views)

Dear anuradha1,

 

please adhere to the forum rules, in particular do not hijack other users threads... Your question seems not to be related to the execution profiler, so please start your own thread with your topic instead, this will help keeping the forum a useful knowledge base.

0 Kudos
Message 6 of 6
(3,968 Views)