Measure compile time and run time separately in Simulink

14 次查看(过去 30 天)
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

回答(4 个)

Andreas Goser
Andreas Goser 2012-9-10
编辑:Andreas Goser 2012-9-10
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 2012-9-10
编辑:Kaustubha Govind 2012-9-10
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 个评论

请先登录,再进行评论。


Horace
Horace 2012-9-10
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 2012-9-10
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 个评论
Kaustubha Govind
Kaustubha Govind 2012-9-10
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Simulink 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by