Performance
When designing MATLAB® algorithms intended for code generation, observe the following guidelines to improve the performance of generated code.
Blocks
MATLAB Function | Include MATLAB code in Simulink models |
Functions
coder.areUnboundedVariableSizedArraysSupported | Check if current configuration settings allow unbounded variable-size arrays (Since R2024a) |
coder.inline | Control inlining of current function in generated code |
coder.inlineCall | Inline called function in generated code (Since R2024a) |
coder.nonInlineCall | Prevent inlining of called function in generated code (Since R2024a) |
coder.unroll | Unroll for -loop by making a copy of
the loop body for each loop iteration |
coder.const | Fold expressions into constants in generated code |
Topics
- Unroll for-Loops and parfor-Loops
Control loop unrolling.
- Inline Code
Inlining eliminates the overhead of a function call by replacing the function call with the body of the function.
- Avoid Data Copies of Function Inputs in Generated Code
Generate code that passes input arguments by reference.
- Generate Reusable Code
To reuse functions, save them in files or integrate external functions into generated code.
- Control Run-Time Checks
Improve performance by disabling run-time checks.
- LAPACK Calls for Linear Algebra in a MATLAB Function Block
LAPACK function calls improve the simulation speed of MATLAB Function block algorithms that call certain linear algebra functions.
- BLAS Calls for Matrix Operations in a MATLAB Function Block
BLAS function calls improve the simulation speed of MATLAB Function block algorithms that call certain low-level vector and matrix functions.
- FFTW calls for fast Fourier transform functions in a MATLAB Function Block
FFTW function calls improve the simulation speed of MATLAB Function block algorithms that call MATLAB fast Fourier transform (FFT) functions.