优化生成的 C/C++ 和 MEX 代码
默认情况下,从 MATLAB® 代码生成 C/C++ 代码或 MEX 函数时,MATLAB Coder™ 会进行优化。有关详细信息,请参阅MATLAB Coder 对生成代码进行优化。
要进一步优化生成的代码,您可以:
调整您的 MATLAB 代码。
从命令行或工程设置对话框使用配置对象控制代码生成。
代码优化是代码生成工作流中的可选步骤。要浏览工作流的步骤,请点击下图中的框。
优化速度的策略
使用下表确定如何优化生成代码的执行速度。
优化内存使用量的策略
使用下表确定如何优化生成代码的内存使用量。
| 条件 | 操作 |
|---|---|
| 您的 MATLAB 代码使用条件语句,但在生成的代码中不需要使用这些语句的某些分支。 | Prevent Code Generation for Unused Execution Paths |
| 您要按引用传递生成代码中的变量。 | 避免在生成的代码中存在函数输入的数据副本 |
| 代码生成目标上的栈空间受限。 | Control Stack Space Usage |
| 由于您在代码生成目标上的内存受限,您要避免使用许多变量的内联函数。 | Control Inlining to Fine-Tune Performance and Readability of Generated Code |
| 您不希望为仅包含常量的表达式生成代码。 | 在生成的代码中将函数调用折叠为常量 |
| 您的 MATLAB 代码中的循环运算不依赖于循环索引。 | Minimize Redundant Operations in Loops |
| 您在 MATLAB 代码中有整数运算,并且您知道在执行生成的代码期间不会发生整数溢出。 | Disable Support for Integer Overflow |
| 您知道生成的代码不使用非有限数 | Disable Support for Nonfinite Numbers |
| 您要优化大型结构体或数组变量的内存使用量,即使这会降低代码的可读性。 | Reuse Large Arrays and Structures |