文档

执行速度

提高生成代码的执行速度

代码生成器在可能的情况下通过用局部变量替换全局变量、删除数据副本、使用memsetmemcpy函数,并减少存储数据的内存量。您可以通过实现编译器和处理器特定的优化、指定缓冲区重用和删除可能不需要的代码来提高生成代码的执行速度。

主题

特定于处理器的优化

通过插入语控制数据和函数在内存中的位置

通过在生成的代码中插入实用程序来提高硬件上的代码效率。Pragmas指定内存中存储数据和函数的位置。

将布尔值替换为特定的整数数据类型

通过替换。来提高生成代码的执行速度布尔具有特定整数数据类型的内置数据类型。

低于正常的数字执行速度

最小化由于低于正常的数字计算延迟而导致的执行减慢或超出的可能性。

浮点乘法处理净斜率修正

对于支持高效乘法的处理器,通过使用浮点乘金宝app法来处理净斜率校正来提高代码效率。

使用Simulink®,statflow®和MATLAB®使用定点数据优化生成代码金宝app

在Simulink中生成定点代码金宝app®, Stateflow®, MATLAB®

在算法代码中生成目标优化

使用特定目标优化定制生成的算法代码。

设置硬件实现参数

指定在嵌入式系统开发中可能非常关键的目标硬件设备特征(例如字符int,数据类型,或整数操作中期望的舍入行为)。

特定的编译器优化

控制编译器优化

在Simulink UI级别控制makefile的编译器优化。金宝app

提高执行效率的优化

优化全局变量的使用

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

通过对生成代码中的块操作重新排序来提高执行效率

代码生成器可以改变块的执行顺序,以提高执行效率。

通过组合多个构造来优化生成的代码

代码生成器使用数据依赖分析进行组合构造以减少静态代码大小和运行时分支。

为复杂信号优化生成的代码

代码生成器对生成代码中表示信号的结构执行各种优化。

配置环路展开阈值

从默认值5开始,代码生成器开始使用循环而不是单独的语句来为信号或参数数组的元素赋值。

简化数组索引中的乘法操作

代码生成器通过用临时变量替换乘法操作来减少乘法操作在数组索引中执行的次数。

使用memset函数优化生成的代码

memset函数将内部存储清除为整数位模式0(即所有位都关闭),无论类型如何。

使用memcpy函数优化矢量赋值生成的代码

代码生成器通过替换来优化生成的向量赋值代码循环与memcpy函数调用。

使用条件输入分支执行

开关多端口切换块,Simuli金宝appnk只执行计算控件输入和控件输入选择的数据输入的块。

优化定点数据操作生成的代码

代码生成器通过用高效的产品操作代替昂贵的部门操作来优化定点操作。

在MATLAB函数块中控制可变大小数组的内存分配

禁用动态内存分配或指定动态内存分配阈值MATLAB函数块。

在MATLAB函数块生成的代码中加速线性代数

在MATLAB函数块中生成特定线性代数函数的LAPACK调用。指定LAPACK库要使用。

在MATLAB函数块生成的代码中加速矩阵运算

为某些低级矩阵操作生成BLAS调用。指定要使用的BLAS库。

在MATLAB函数块生成的代码中加速快速傅里叶变换

生成FFTW库调用的快速傅里叶变换MATLAB函数块。指定FFTW库。

同步多线程FFTW规划从MATLAB函数块生成的代码

实现FFT库回调类方法,并提供支持C代码,以防止并发访问FFTW计划。金宝app

加速使用parfor生成的代码中的for循环实现

在生成的for代码中实现并行的for循环MATLAB函数MATLAB系统使用parfor块。

特色的例子