Simulink takes a long time to start a model with a Embedded Matlab block

9 views (last 30 days)
I have an embedded matlab block that contains a decent amount of code. When I start the Simulink model, the status bar shows that it is compiling the embedded matlab block and it takes a really long time (like 30 minutes). Is there a way to debug why it takes the compiler so long and where it would be getting hung up or any optimizations I could do?

Accepted Answer

Gillian Rosen
Gillian Rosen on 15 Mar 2017
Edited: Gillian Rosen on 15 Mar 2017
Hi Thomas, 
I understand that an Embedded MATLAB block in your model is taking a long time (30 minutes) to compile every time you simulate your model, and you would like to debug this issue and find possible optimizations.
For debugging this issue, you can use the 'sldiagnostics' command to investigate which parts of the process are taking a long time. Since you are interested in debugging long compilation times, I suggest that you use this command with the 'CompileStats' option, as follows:  
>> sldiagnostics('myModel','CompileStats')
See the 'sldiagnostics' function documentation at the link below for more information:
If your Embedded MATLAB block is not changing between runs of your simulation, you could place your Embedded MATLAB block into a model reference to speed up compilation. By default, referenced models will only be re-compiled if a change is detected. Here are some documentation links to get you started with model referencing:  
  2 Comments
Thomas Marullo
Thomas Marullo on 15 Mar 2017
Thank you. This is exactly what I was looking for. My model spends the most time doing "Stateflow post-compile notify". Is there some documentation on what this is?
Nick McDonough
Nick McDonough on 19 Jun 2018
I am having a similar issue. The Stateflow post-compile notify is taking forever, but I don't know how to debug further....

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!