优化策略
MATLAB®编码器™介绍了在生成特定的优化C / c++
代码或墨西哥人
从MATLAB代码功能。有关更多信息,请参见MATLAB编码器优化生成的代码。
进一步优化生成的代码,您可以:
适应你的MATLAB代码。
控制代码生成使用配置对象从命令行或“项目设置”对话框中。
优化生成的代码的执行速度,对于这些条件,根据需要执行以下操作:
条件 | 行动 |
---|---|
你有为 循环的迭代是相互独立的。 |
|
你适应可变数组的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代码变量大数组或结构。你的变量不是在生成的代码中重用。他们被保存。你想看看保存所需的额外内存大数组或变量名的结构对性能的影响。 | 重用大型数组和结构 |