Measure the time spent by a function

Hi everyone,
I have programmed a function in Matlab which calls a second function from a DLL which is programmed in C. For instance:
Matlab function: function A = myfunction{calls myDLLfunction}
DLL function in .dll file: function = myDLLfunction{does something}
I want to measure the time spent by myDLLfunction execution from Matlab. I tried the following:
tic
A = myfunction(calls myDLLfunction)
toc
but obviously, this only measures the time spent by myfunction calling myDLLfunction, not the actual time spent by myDLLfunction once it is called.
Any help would be appreciated.

Answers (2)

KSSV
KSSV on 18 Oct 2017
You type tic and toc inside your myfunction.
Stephen23
Stephen23 on 18 Oct 2017
Edited: Stephen23 on 18 Oct 2017

3 Comments

Hey Stephen, thanks for answering.
The profiler gives information about the MATLAB functions. So, If I call a function from a DLL with myfunction, the profiler measures only the callback time, not the time spent by the function in the DLL. You can see this in the next pic:
As you can see, ret = callib(...) calls a funcion which is defined in a DLL, so the Line Number 90 only gives information about the time spent in calling that function, not the actual time spent during that function execution.
Best regards
@E. Valero: The time for "calling" this function does mean the time, which is spent inside the function.
Hey Jan,
so even if the called function is in a DLL external to MATLAB, the time spent by calllib includes the execution time of that function?
Thanks

Sign in to comment.

Categories

Asked:

on 17 Oct 2017

Commented:

on 18 Oct 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!