代码生成器在可能的情况下通过用局部变量替换全局变量、删除数据副本、使用memset
和memcpy
函数,并减少存储数据的内存量。您可以通过实现编译器和处理器特定的优化、指定缓冲区重用和删除可能不需要的代码来提高生成代码的执行速度。
通过在生成的代码中插入实用程序来提高硬件上的代码效率。Pragmas指定内存中存储数据和函数的位置。
通过替换。来提高生成代码的执行速度布尔
具有特定整数数据类型的内置数据类型。
最小化由于低于正常的数字计算延迟而导致的执行减慢或超出的可能性。
对于支持高效乘法的处理器,通过使用浮点乘金宝app法来处理净斜率校正来提高代码效率。
使用Simulink®,statflow®和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代码中实现并行的for循环MATLAB函数和MATLAB系统使用parfor块。