How to reduce the execution time for Input/Output ports in Simulink?
2 views (last 30 days)
Show older comments
Antonio Carlo Bertolino on 8 Jul 2020
Answered: Fangjun Jiang on 10 Jul 2020
I just installed the R2020a version of MATLAB&Simulink and I profiled my Simulink model.
From the profiler report it appeared that, among other sources, a not negligible amount of time is taken by the Input and Output ports of various subsystems.
What is it due to? Is it possible to reduce this time in order to speed up the simulation?
Fangjun Jiang on 10 Jul 2020
An atomic subsystem will have to update its Inport and Outport at every simulation step while virtual subsystems don't need to do that. If the time took to do those Inport and Outport update has become significant, re-examine and consider changeing atomic subsystems to be virtual. Many times, I found users don't necessarily understand the difference and subsystems were made atomic by accident.
Action Subsystems are atomic subsystems by definition. You can still consider using alternatives such as conditional brahching using Switch block.
The boundary of virtual subsystem don't exist when simulating or for code generation, while the boundary of atomic subsystems are required to update at every simulation step. If subsystems are made atomic unnecessarily or by mistake, the simulation speed might suffer slightly and the result might differ.
Find more on Subsystems in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!