文档

减少数据拷贝

调整模型参数以提高代码执行速度和减少内存使用

减少RAM和ROM消耗,并通过消除生成代码中的数据副本来提高代码执行速度。代码生成器消除了一些数据副本。您可以通过调整某些模型参数设置,为MATLAB函数块的输入和输出参数指定相同的名称,以及使用Simulink信号指定重用来消除其他数据副本。金宝app

主题

默认减少数据拷贝

通过将可重用的子系统输出作为单独参数传递来优化生成的代码

代码生成器通过将可重用的子系统输出作为单独的参数传递,而不是作为存储在全局内存中的结构的指针,消除了从局部变量返回到全局块I/O结构的数据拷贝。

最小化块输出中中间结果的计算和存储

代码生成器将块计算折叠成单个表达式,而不是为模型中的每个块生成单独的代码语句和存储声明。

在生成的代码中重用全局块输出

代码生成器尝试重用全局变量。

在生成的代码中启用和重用本地块输出

在可能的情况下,代码生成器将块输出声明为局部变量,这样它就可以重用这些变量。

将数据拷贝转换为指针赋值

代码生成器通过尝试替换来优化矢量信号分配的生成代码循环控制的元素赋值和memcpy使用指针赋值的函数调用。

虚拟化输出端口优化

代码生成器通过将进入根输出端口的信号存储为全局变量来消除与根输出端口相关的代码和数据存储。

内嵌不变信号

在生成的代码中使用不变信号的数值,而不是它们的符号名称。

数据存储读写块的数据减拷贝

代码生成器试图消除数据存储读和写块的数据副本。

减少总线分配块的数据副本

对于包含总线分配块,如果可能的话,代码生成器对块的输入和输出使用相同的变量。

按规格减少数据拷贝

通过重新排序生成代码中的块操作来删除数据副本

重新对生成代码中的块操作排序,以消除临时变量和相关数据副本。

通过使用信号标签指导缓冲区重用优化生成的代码

如果您的模型具有删除数据副本的最佳参数设置,则可以使用信号标签删除其他数据副本。

优化全局变量的使用

选择全局变量引用优化来满足您的内存使用和执行速度要求。

指定路径中的MATLAB函数块的缓冲区重用

跨MATLAB函数块重用缓冲区。

使用Simulink指定缓冲区重用。金宝app信号对象

使用Simu金宝applink信号对象为路径中的多个信号指定缓冲区重用,该路径可能包括根输入和输出端口、延迟块和单元延迟块。

生成有效的公交信号代码

建模总线以最大化所生成代码的效率。