执行速度
方法将全局变量替换为局部变量,删除数据副本,从而提高所生成代码的执行速度memset
而且memcpy
函数,并减少用于存储数据的内存量。您可以通过实现特定于编译器和处理器的优化、指定缓冲区重用以及删除可能不需要的代码来提高所生成代码的执行速度。
主题
特定处理器的优化
通过在生成的代码中插入语法来提高硬件上的代码效率。Pragmas在内存中指定存储数据和函数的位置。
方法来提高生成代码的执行速度布尔
具有特定整数数据类型的内置数据类型。
尽量减少由于非正常的数字计算延迟而导致的执行放缓或溢出的可能性。
对于支持高效乘法的处理器,可以使用浮点乘金宝app法来处理净斜率修正,从而提高代码效率。
使用Simulink®、Stateflow®和MATLAB®使用定点数据优化生成的代码金宝app
在Simulink中生成定点代码金宝app®, Stateflow®,以及MATLAB®.
使用特定于目标的优化自定义生成的算法代码。
指定在嵌入式系统开发中可能非常关键的目标硬件设备特征(例如字符
,短
,int
,长
数据类型,或整数操作中所需的舍入行为)。
提高执行效率的优化
选择全局变量引用优化来满足您的内存使用和执行速度要求。
代码生成器可以改变块的执行顺序,提高执行效率。
代码生成器使用数据依赖分析进行组合为
构造以减少静态代码大小和运行时分支。
代码生成器对所生成代码中表示信号的结构执行各种优化。
从默认值5开始,代码生成器开始使用为
循环而不是单独的语句来为信号或参数数组的元素赋值。
代码生成器通过用临时变量替换乘法操作来减少在数组索引中执行乘法操作的次数。
的memset
函数将内部存储清除为整数位模式0(即所有位都关闭),无论类型如何。
代码生成器通过替换来优化生成的代码为
循环与memcpy
函数调用。
为开关而且多端口切换块,Simuli金宝appnk只执行计算控制输入和控制输入选择的数据输入的块。
代码生成器通过用高效的乘积运算替换昂贵的除法运算来优化定点运算。
禁用动态内存分配或指定动态内存分配阈值MATLAB函数块。
在MATLAB函数块中生成LAPACK调用某些线性代数函数。指定要使用的LAPACK库。
为某些低级矩阵操作生成BLAS调用。指定要使用的BLAS库。
生成FFTW库调用快速傅立叶变换MATLAB函数块。指定FFTW库。
实现FFT库回调类方法,并提供支持的C代码,以防止对FFTW规划的并发访问。金宝app
在生成的代码中实现并行for循环MATLAB函数而且MATLAB系统使用parfor阻塞。