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.

Antworten (2)

KSSV
KSSV am 18 Okt. 2017

0 Stimmen

You type tic and toc inside your myfunction.
Stephen23
Stephen23 am 18 Okt. 2017
Bearbeitet: Stephen23 am 18 Okt. 2017

0 Stimmen

3 Kommentare

Lask
Lask am 18 Okt. 2017
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
Jan
Jan am 18 Okt. 2017
@E. Valero: The time for "calling" this function does mean the time, which is spent inside the function.
Lask
Lask am 18 Okt. 2017
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Acquisition Toolbox Supported Hardware finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 17 Okt. 2017

Kommentiert:

am 18 Okt. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by