主要内容

优化策略

MATLAB®编码器™介绍了在生成特定的优化C / c++代码或墨西哥人从MATLAB代码功能。有关更多信息,请参见MATLAB编码器优化生成的代码

进一步优化生成的代码,您可以:

  • 适应你的MATLAB代码。

  • 控制代码生成使用配置对象从命令行或“项目设置”对话框中。

优化生成的代码的执行速度,对于这些条件,根据需要执行以下操作:

条件 行动
你有循环的迭代是相互独立的。

生成代码与平行的for循环(parfor)

自动并行化的循环生成的代码

你适应可变数组的MATLAB代码。 减少动态内存分配
你有多个适应可变数组MATLAB代码。你想要为更大的数组和动态内存分配静态分配较小的。 设置阈值动态内存分配
你想要生成的函数被称为参考。 避免数据拷贝函数输入生成的代码
你是在MATLAB代码中调用小函数。 内联代码
你目标内存有限生成的代码。你想内联函数和小为较大的生成单独的代码。 控制内联微调性能和生成的代码的可读性
你不想生成代码只包含常数的表达式。 函数调用折叠成常量
你在MATLAB代码循环操作不依赖于循环指数。 减少冗余操作循环
你有整数操作在你的MATLAB代码。你事先知道,整数溢出并不发生在生成代码的执行。 禁用支持整数溢出金宝app
你事先知道年代和年代不发生在执行期间生成的代码。 禁用支持非限定的金宝app数字
你有与几个迭代循环。 展开for循环和parfor-Loops
你已经有遗留C / c++代码优化的目标环境。 集成外部/自定义代码
你想加快生成的代码基本向量和矩阵函数。 加快矩阵运算生成独立的代码通过使用布拉斯特区调用
你想加速线性代数函数所生成的代码。 加快生成独立的代码通过使用线性代数LAPACK调用
你想加快代码生成的快速傅里叶变换(FFT)的功能。 加快快速傅里叶变换使用FFTW库调用生成的独立的代码

优化内存使用生成的代码,对于这些条件,根据需要执行以下操作:

条件 行动
你有如果/其他/ elseif语句或switch / case /否则语句在MATLAB代码中。你不需要一些的分支语句生成的代码。 防止代码生成的未使用的执行路径
你想要生成的函数被称为参考。 避免数据拷贝函数输入生成的代码
你的栈空间有限生成的代码。 控制堆栈空间的使用
你是在MATLAB代码中调用小函数。 内联代码
你目标内存有限生成的代码。你想内联函数和小为较大的生成单独的代码。 控制内联微调性能和生成的代码的可读性
你不想生成代码只包含常数的表达式。 函数调用折叠成常量
你在MATLAB代码循环操作不依赖于循环指数。 减少冗余操作循环
你有整数操作在你的MATLAB代码。你事先知道,整数溢出并不发生在生成代码的执行。 禁用支持整数溢出金宝app
你事先知道- s和- s并不发生在生成代码的执行。 禁用支持非限定的金宝app数字
MATLAB代码变量大数组或结构。你的变量不是在生成的代码中重用。他们被保存。你想看看保存所需的额外内存大数组或变量名的结构对性能的影响。 重用大型数组和结构