MATLAB Function Versus MATLAB S-Function (processing speed)

My problem is a simple example in the picture.
Top S-function written in C++. Lower Matlab function written in Matlab. Blocks of the same function, but the top is 4 times faster! Why? Maybe this is due to the creation of the wrapper in the case of the lower block? M-code consists of five lines, and 800 lines of the wrapper. wrapper slows down speed of model?

回答(1 个)

It could be that you have Enable debugging/animation enabled in the 'Simulation Target' pane of the Configuration Parameters window. If you disable this (and perhaps even overflow detection and memory integrity checking), it should cut down the size of the generated code, and improve the speed of the MATLAB Function block.

1 个评论

In my model Enable debugging/animation disable.
The question is why the S-function block is faster than block Matlab function.
The problem of automatic generation of sub-optimal complex wrapper?
Matlab interpreter, and each line of Matlab code, it converts the C code using the wrapper, which reduces the speed of the model?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Simulink Coder 的更多信息

产品

提问:

2013-2-25

Community Treasure Hunt

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

Start Hunting!

Translated by