Main Content

Execution Speed

Improve execution speed of generated C/C++ code

Use code generation options and optimizations to improve the execution speed of the generated code. You can modify or disable dynamic memory allocation, which can affect execution speed. Parallelized code can be generated by using parfor loops. When available, take advantage of preexisting optimized C code and specialized libraries to speed up execution.

For more information about how to optimize your code for specific conditions, see Optimization Strategies.

Functions

parforParallel for-loop
coder.varsizeDeclare variable-size data
coder.constFold expressions into constants in generated code
coder.inlineControl inlining of a specific function in generated code
coder.loop.parallelizeDisable automatic parallelization of a for loop
coder.unrollUnroll for-loop by making a copy of the loop body for each loop iteration
coder.cevalCall external C/C++ function

Classes

coder.LAPACKCallbackAbstract class for specifying the LAPACK library and LAPACKE header file for LAPACK calls in generated code
coder.BLASCallbackAbstract class for specifying the BLAS library and CBLAS header and data type information for BLAS calls in generated code
coder.fftw.StandaloneFFTW3Interface Abstract class for specifying an FFTW library for FFTW calls in generated code

Topics

Generated Code Optimizations

memcpy and memset Optimizations

Variable-Size Arrays

Array Layout

Loops

Function Calls

Numerical Edge Cases

External Code Integration

Troubleshooting

Troubleshooting parfor-Loops

Diagnose errors for code generation of parfor-loops.

MEX Generated on macOS Platform Stays Loaded in Memory

Troubleshoot issues that occur when the source MATLAB® code contains global or persistent variables that are reachable from the body of a parfor-loop.