内存使用情况
减少随机存储器、只读存储器,所使用的堆栈空间生成的C / c++代码
决定如何修改您的MATLAB®代码,生成的代码使用更少的内存。当调用函数时,控制数据是通过使用相同的输入和输出变量。按引用传递减少生成的代码中使用的内存。通过设置分配控制内存堆栈空间限制使用和通过指定使用动态内存分配时。减少代码的大小通过禁用功能,产生额外的代码,比如支持整数溢出。金宝app
为更多的信息关于如何优化代码具体情况,看看优化策略。
功能
coder.inline |
控制内联的一个特定的函数生成的代码 |
coder.const |
表达式折叠成常量在生成的代码 |
coder.ceval |
调用外部C / c++函数 |
类
coder.Constant |
规范代码生成的常数值 |
coder.ExternalDependency |
接口,外部代码 |
主题
生成的代码优化
- 优化策略
优化的执行速度和内存使用生成的代码。 - 堆栈分配和性能
在堆上分配大变量时堆栈空间有限。 - MATLAB编码器优化生成的代码
来提高性能的生成的代码,代码生成器使用优化。
条件语句
- 防止代码生成的未使用的执行路径
做一个控制流变量恒定,防止代码生成未使用的分支。 - 不包括未使用的路径生成的代码
使控制流变量恒定,防止生成代码未使用的分支。
函数调用
- 避免数据拷贝函数输入生成的代码
生成代码,输入参数按引用传递。 - 控制内联微调性能和生成的代码的可读性
内联消除函数调用的开销但是可以产生更大的C / c++代码,减少代码的可读性。 - 控制堆栈空间的使用
指定生成的代码可以使用的最大堆栈空间。 - 函数调用折叠成常量
减少执行时间用常数代替表达式生成的代码。
数组
- 设置阈值动态内存分配
禁用动态内存分配的数组小于一定规模。 - 重用大型数组和结构
指定变量重用减少内存使用量。 - 代码生成的稀疏矩阵
用稀疏矩阵在MATLAB代码用于代码生成。
数值边界情况
- 禁用支持整数溢出金宝app或非限定的
提高性能通过抑制一代的支持代码来处理整数溢出或非限定的。金宝app
自定义代码集成
- 集成外部/自定义代码
提高性能通过整合优化自己的代码。 - 优化为快速傅里叶变换函数所生成的代码
选择正确的快速傅里叶变换实现您的工作流和目标硬件。 - 加快生成独立的代码通过使用线性代数LAPACK调用
为某些线性代数函数生成LAPACK调用。指定要使用LAPACK库。 - 加快矩阵运算生成独立的代码通过使用布拉斯特区调用
bla呼吁某些低级的矩阵运算生成。指定要使用布拉斯特区图书馆。 - 加快快速傅里叶变换使用FFTW库调用生成的独立的代码
为快速傅里叶变换生成FFTW库调用。指定FFTW图书馆。