设置动态内存分配阈值
默认情况下,代码生成器对可变大小数组使用动态内存分配。动态内存分配优化可变大小数组的存储要求,但会导致生成代码的执行速度变慢。为了平衡内存和性能要求,您可以对小于特定大小的数组禁用动态内存分配。
当您要执行以下操作时,请指定此阈值:
对较小的数组禁用动态内存分配。对于较小的数组,静态内存分配可以加快所生成代码的执行速度。静态内存分配会导致未使用的存储空间。但是,对于较小的数组,未使用的存储空间可能不是重要考虑因素,具体由您决定。
对较大的数组启用动态内存分配。对于较大的数组,使用动态内存分配可以显著降低存储要求。
要指定动态内存分配阈值,必须启用动态内存分配。要确保启用动态内存分配,请使用以下方法之一:
在代码配置对象中,确保
EnableDynamicMemoryAllocation属性设置为true。在“代码生成设置”对话框中,确保启用动态内存分配复选框处于选中状态。
如果启用了动态内存分配,请使用以下方法之一设置动态内存分配阈值:
在代码配置对象中,为
DynamicMemoryAllocationThreshold属性指定值。在“代码生成设置”对话框中,为动态内存分配阈值参数指定值。
动态内存分配阈值以字节为单位。根据来自目标硬件设置的信息,代码生成会估计配置的阈值可以容纳的数组的大小。此估计未考虑可能的 C 编译器优化,如将变量放入寄存器中。