优先
描述
优化生成的代码,以提高执行效率,降低RAM消耗或执行效率和RAM消耗之间的平衡。
设置
默认:平衡公羊和速度
-
平衡公羊和速度
-
配置代码生成设置以平衡RAM和执行速度。
-
最大化执行速度
-
应用代码生成设置以最大化执行速度。
-
最小化公羊
-
配置代码生成设置以最大程度地减少RAM消耗。
依赖性
通过设置等级参数为
最大
。此参数需要一个嵌入式编码器®执照。
此参数仅用于基于ERT的目标。
提示
每个优先和等级参数值,在该参数中有相应的值细节部分。这些是各种环境之间的一些重要区别:
如果您设置等级参数为
最低(调试)
,参数细节部分设置为关闭。代码生成器不会实现删除变量或代码的优化,从而更容易调试生成的代码。参数设置
与可读性保持平衡
和平衡公羊和速度
除了这三个参数外,是相同的:重复使用不同尺寸和尺寸的缓冲区
优化全局数据访问
优化生成代码中的块操作顺序
上述优化可能会损害可读性,因为它们跨越原子子系统边界和优化生成代码中的块操作顺序可能会在生成的代码中更改块执行顺序,以使其与模拟中的不同。
如果您的RAM有限,请选择
最小化公羊
环境。此设置可以使这些优化以牺牲潜在的执行速度减速为代价减少RAM:将布尔数据打包到Bitfields
重复使用不同尺寸和尺寸的缓冲区
使用BITSET存储状态配置
使用BITSET存储布尔数据
此设置还改变了优化生成代码中的块操作顺序从
改进的代码执行速度
至离开
。
每个优先和等级参数值,此表列出了参数的相应值细节部分。
参数 | 设置 | 例子 | ||||
---|---|---|---|---|---|---|
等级 | 最低(调试) |
与可读性保持平衡 |
最大 |
|||
优先 | 不适用(不适用) | N/A。 | 平衡公羊和速度 |
最大化执行速度 |
最小化公羊 |
|
细节 | ||||||
使用memcpy进行矢量分配 | 离开 |
上 |
上 |
上 |
上 |
使用memcpy函数来优化矢量分配的生成代码 |
memcpy阈值(字节) | 离开 |
64 |
64 |
64 |
64 |
使用memcpy函数来优化矢量分配的生成代码 |
启用本地块输出 | 离开 |
上 |
上 |
上 |
上 |
在生成的代码中启用并重用本地块输出 |
重用本地块输出 | 离开 |
上 |
上 |
上 |
上 |
在生成的代码中启用并重用本地块输出 |
消除多余的局部变量(表达式折叠) | 离开 |
上 |
上 |
上 |
上 |
最小化计算和存储在块输出处的中间结果 |
重用全局块输出 | 离开 |
上 |
上 |
上 |
上 |
重复使用生成代码中的全局块输出 |
执行分配和总线分配块的现场更新 | 离开 |
上 |
上 |
上 |
上 |
减少公交分配块的数据副本 |
数据存储的重用缓冲区读取和数据存储编写块 | 离开 |
上 |
上 |
上 |
上 |
数据存储的数据副本读取和数据存储编写块 |
简化数组索引 | 离开 |
离开 |
离开 |
上 |
离开 |
简化阵列索引中的乘法操作 |
将布尔数据打包到Bitfields | 离开 |
离开 |
离开 |
离开 |
上 |
通过将布尔数据打包到比特菲尔德,优化生成的代码 |
重复使用不同尺寸和尺寸的缓冲区 | 离开 |
离开 |
上 |
离开 |
上 |
重复使用不同尺寸和尺寸的缓冲区 |
优化全局数据访问 | 没有任何 |
没有任何 |
使用全球保持临时结果 |
没有任何 |
使用全球保持临时结果 |
优化全局变量用法 |
优化生成代码中的块操作顺序 | 离开 |
离开 |
改进的代码执行速度 |
改进的代码执行速度 |
离开 |
通过在生成的代码中重新排序块操作来删除数据副本 |
使用BITSET存储状态配置 | 离开 |
离开 |
离开 |
离开 |
上 |
减少布尔和状态配置变量的内存使用率 |
使用BITSET存储布尔数据 | 离开 |
离开 |
离开 |
离开 |
上 |
减少布尔和状态配置变量的内存使用率 |
如果您打算升级软件,请注意:
设置等级和优先参数启用了与每个后续版本的上述参数设置相对应的最新优化。
选择指定自定义优化参数使您可以选择单个参数细节部分。当您在将来的版本中加载模型时,在将软件设置为升级时,在发行中引入的优化参数将其设置为
离开
。如果您想在升级软件时减少生成代码中的更改数量,则此选项可能是一个不错的选择。
命令行信息
范围:优化优先级 |
价值:'均衡' |'速度' |'内存' |
默认:'均衡' |
推荐设置
应用 | 环境 |
---|---|
调试 | 没有影响 |
可追溯性 | 没有影响 |
效率 | 最小化公羊 (内存),最大执行速度 (速度),平衡公羊和速度 (均衡) |
安全预防措施 | 没有影响 |