Why does my Simulink model take so long to run?

58 Ansichten (letzte 30 Tage)
Jeremy
Jeremy am 19 Sep. 2018
Beantwortet: Kazem am 10 Jan. 2024
I am working with a large but new-to-me Simulink model in MatLab 2017A. This model takes over 26 minutes to run, which makes it very difficult to work with. I turned on the model profiler (set_param( model_name, 'Profile', 'on') before running it, and got a profile report starting with...
It is telling me that virtually all of the time is in the "compileAndLinkPhase", which makes sense with the text I see on the status bar as it runs, but it doesn't break it down any farther. Is there any setting or tool I could use to determine why this phase takes so long? Perhaps getting a specific part of the model takes too much time to compile, or a specific link takes too much time to process? Anything that tells me what it is about the model which takes so long to compile and/or link may be helpful.

Antworten (2)

Sara Nadeau
Sara Nadeau am 19 Sep. 2018
Bearbeitet: Sara Nadeau am 19 Sep. 2018
Hi Jeremy!
Sounds like accelerator mode could help you. You can find details about Accelerator mode in the documentation.
This is the landing page for learning about Acceleration: https://www.mathworks.com/help/simulink/acceleration.html
And here's a topic to get you started: https://www.mathworks.com/help/simulink/ug/what-is-acceleration.html
I hope this helps!
  1 Kommentar
Sara Nadeau
Sara Nadeau am 19 Sep. 2018
Additionally, more to the point of your question, I hope this list of factors that affect performance can help you identify model changes that might decrease the simulation time: https://www.mathworks.com/help/simulink/ug/speed-up-simulation.html
And there's also Fast Restart which only performs the compile stage on the first simulation you run! https://www.mathworks.com/help/simulink/ug/fast-restart-workflow.html

Melden Sie sich an, um zu kommentieren.


Kazem
Kazem am 10 Jan. 2024
You can use excludedModels option to exclude some reference blocks for big project.
testObj.modelRefSettings.excludedModels = ["A","B","C","D" .."Z"];

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by