优化策略
MATLAB® Coder™ 在从您的 MATLAB 代码生成 C/C++
代码或 MEX
函数时会进行一定的优化。有关详细信息,请参阅MATLAB Coder 对生成代码进行优化。
要进一步优化生成的代码,您可以:
调整您的 MATLAB 代码。
从命令行或工程设置对话框使用配置对象控制代码生成。
要优化生成的代码的执行速度,请针对下列情况根据需要执行相应操作:
要优化生成的代码的内存使用量,请针对下列情况根据需要执行相应操作:
条件 | 操作 |
---|---|
在 MATLAB 代码中有 if/else/elseif 语句或 switch/case/otherwise 语句。您不需要在生成的代码中使用语句的某些分支。 | Prevent Code Generation for Unused Execution Paths |
您要通过引用调用生成的函数。 | Avoid Data Copies of Function Inputs in Generated Code |
您生成的代码的堆栈空间受限。 | Control Stack Space Usage |
您正在调用 MATLAB 代码中的小函数。 | 内联代码 |
您生成的代码的目标内存受限。您要内联小函数并为较大的函数生成单独的代码。 | Control Inlining to Fine-Tune Performance and Readability of Generated Code |
您不希望为仅包含常量的表达式生成代码。 | Fold Function Calls into Constants |
您的 MATLAB 代码中的循环运算不依赖于循环索引。 | Minimize Redundant Operations in Loops |
您的 MATLAB 代码中有整数运算。您事先知道在执行生成的代码期间不会发生整数溢出。 | Disable Support for Integer Overflow |
您事先知道在执行生成的代码期间不会出现 Inf 和 NaN 。 | Disable Support for Nonfinite Numbers |
您的 MATLAB 代码包含大型数组变量或结构体变量。您的变量不会在生成的代码中重用。它们是保留变量。您希望查看保留大型数组或结构体的变量名称所需的额外内存是否会影响性能。 | Reuse Large Arrays and Structures |