主要内容

执行速度

提高生成的代码的执行速度

代码生成器通过以下途径尽可能提高生成的代码的执行速度:用局部变量替换全局变量,删除数据副本,使用 memsetmemcpy 函数,以及减少用于存储数据的内存量。您可以实施特定于编译器和处理器的优化,指定缓冲区重用以及删除可能不需要的代码,以此提高生成的代码的执行速度。

模型设置

全部展开

使用指定的最小值和最大值进行优化使用信号和参数的最小值和值进行优化
简化数组索引在循环中访问数组时,替换数组索引中的乘法运算
循环展开阈值 Specify minimum array size width for generating for loops
优化归约Single instruction, multiple data (SIMD) code for reduction operation loops (自 R2022a 起)
使用 memset 将浮点数和双精度值初始化为 0.0Control generation of code that explicitly initializes floating-point data to 0.0
数据类型替换替换生成代码中内置数据类型名称的方法 (自 R2023a 起)
非规范数的仿真行为Option to emulate hardware handling of denormal numbers
使用浮点乘法处理净斜率校正Net slope correction computation for floating-point to fixed-point casts
利用目标硬件指令集扩展Instruction sets to generate single instruction, multiple data (SIMD) code (自 R2021b 起)
信号存储重用重用信号内存
优化全局数据访问优化全局变量使用
优化生成代码中的模块运算顺序指定对模块运算重新排序以改进代码执行速度
循环展开阈值 Specify minimum array size width for generating for loops
使用 memcpy 进行向量赋值Optimize code generated for vector assignments
条件输入分支执行优化 Switch 和 Multiport Switch 模块输入路径的选项
在 MATLAB 函数中使用动态内存分配Option to use dynamic memory allocation for MATLAB code
代码替换库定义特定目标环境的代码优化的库
生成 Halide 代码生成 Halide 代码以加快数组计算 (自 R2023b 起)

主题

执行速度优化基础知识

特定于处理器的优化

用于提高执行效率的优化

使用 Halide 代码生成的优化

精选示例