主要内容

memset优化

生成的代码优化连续文字常量赋值给数组元素,代码生成器试图替换的代码memset调用。一个memset电话可以更有效连续循环或多个元素赋值。此表显示生成的示例C代码有或没有memset

生成的代码使用memset优化 生成的代码没有memset优化
memset (y [0], 125, 100 u * sizeof (char)签署);
(我= 0;我< 100;我+ +){Y[我]= 125;
memset (z [0] 0 1000 u * sizeof(双));
Z [0] = 0.0;Z [1] = 0.0;Z [2] = 0.0;…Z [999] = 0.0;

代码生成器可以使用memset优化分配的整数常数或浮点零。的使用memset取决于:

  • 值的大小来分配。尺寸必须符合一个C / c++的要求memset调用。

  • 分配的字节数。分配的字节数是数组元素的数量乘以所需的字节数C / c++的数据类型。

    • 如果元素的数量分配在编译时是已知的,那么代码生成器生成memset称只有当的字节数大于或等于阈值。

    • 如果在编译时不知道的元素数量,然后代码生成器生成memset不考虑阈值。

memset优化阈值是一样的memcpy优化阈值。默认的阈值是64个字节。改变阈值:

  • 在命令行,设置代码配置对象的属性MemcpyThreshold

  • MATLAB®编码器™应用程序,Memcpy阈值(字节)

转让浮点零,启用或禁用memset优化:

  • 在命令行,设置代码配置对象的属性InitFltsAndDblsToZero真正的。默认值是真正的

  • MATLAB编码器应用程序,0.0使用memset浮点数和双精度数进行初始化是的没有。默认值是是的

相关的话题