Stateflow® uses Just-In-Time (JIT) compilation mode to improve model update performance for most charts in Simulink® models. Stateflow applies JIT mode to charts that qualify. For a chart in JIT mode, Stateflow generates an execution engine in memory for simulation. For these charts, Stateflow does not generate C code or a MEX file to simulate the chart. JIT mode provides the best performance during the compilation of a model.
Some charts do not qualify for JIT mode, such as charts with signal logging.
Stateflow models include debugging support for simulation. To gain optimal performance, turn off debugging by using this command:
sfc('coder_options', 'forceDebugOff', 1);
When you run this command, your Stateflow charts do not have debugging support or run-time error checking.
When you turn off debugging, animation is also turned off.
To simulate your model more quickly, in the Model Configuration Parameters dialog box, on the Simulation Target pane, clear the check boxes for these parameters:
Echo expressions without semicolons — To disable run-time output in the MATLAB® Command Window, such as actions that do not terminate with a semicolon, clear this check box.
Ensure responsiveness— To disable ability to break out of long-running execution using Ctrl+C, clear this check box.
During model simulation, any open charts with animation enabled take longer to simulate. If you keep all charts closed, the simulation runs faster.
During model simulation, any open Scope blocks continuously update their display. If you keep all Scope blocks closed, you can speed up the simulation. After the simulation ends, you can open the Scope blocks to view the results.
If your model contains multiple charts that do not use JIT mode and contain the same elements, you might generate multiple copies of identical simulation code. By using library charts, you can minimize the number of copies of identical simulation code. For example, using five library charts reduces the number of identical copies from five to one.
For more information, see Create Specialized Chart Libraries for Large-Scale Modeling.