Measure compile time and run time separately in Simulink

13 views (last 30 days)
Hi,
I would like to measure compile time and run time separately in Simulink. If I use tic; sim('model.mdl'); toc, then I get hte total time of compiling the model and running the model. But how can I get those times separately?
Thanks, Horace

Answers (4)

Andreas Goser
Andreas Goser on 10 Sep 2012
Edited: Andreas Goser on 10 Sep 2012
It is not fully clear to me what "compiler time" is in your context. There are multiple reasons why Simulink models need time before the simulation starts. You may look for something like the SLBUILD and RTWBUILD commands. You can measure this time and then the pure simulation time. You may also be interested in measuring the time for "update diagram". The command her would be
set_param('sys', 'SimulationCommand', 'update');

Kaustubha Govind
Kaustubha Govind on 10 Sep 2012
Edited: Kaustubha Govind on 10 Sep 2012
Try using the Simulink Profiler - I think the stage corresponding to ModelInitialize() is the compiler-phase and ModelExecute() is the run-time phase. Note that the Profiler adds instrumentation which introduces some overhead to your simulation, so the total execution time for your model will be slower that using tic-toc.
  3 Comments
Kaustubha Govind
Kaustubha Govind on 17 Sep 2012
Samir: Sorry, I think they revamped the documentation with the latest release, so the link has changed. Try http://www.mathworks.com/help/simulink/ug/capturing-performance-data.html

Sign in to comment.


Horace
Horace on 10 Sep 2012
By compile time, I mean this:
When I click run on simulink, there is a green loading bar. Once the green loading bar is done, the bar turns blue and runs the simulation for the time specified. How do I measure the time used for hte green bar and the blue bar separately?
Thanks, Horace

Horace
Horace on 10 Sep 2012
Thanks for the help Kaustubha.
It was exactly what I was looking for. But is there a way to do this without hte profiler? The reason I ask is because the Profiler really slows down the compilation and simulation.
  1 Comment
Kaustubha Govind
Kaustubha Govind on 10 Sep 2012
Horace: Sorry, I don't know of a faster way to get this information. You could try Andreas suggestion of running "tic;set_param('model', 'SimulationCommand', 'update');toc" to get just the compilation time, and subtract it from "tic; sim('model'); toc" to get the execution time.

Sign in to comment.

Categories

Find more on Simulink in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!