嵌入式系统优化与编译技术解析
1. 优化技术概述
在嵌入式系统开发中,为了提高性能、降低能耗和节省内存等,有多种优化技术可供使用。下面详细介绍一些常见的优化方法。
1.1 简单循环变换
简单循环变换包含多种标准变换方式,具体如下:
- 循环置换 :在C语言里,二维数组采用行优先顺序存储。为了提升数组元素在缓存中的重用性,通常将最后一个索引对应到最内层循环。示例代码如下:
// 原始循环
for (k=0; k<=m; k++)
for (j=0; j<=n; j++)
p[j][k] = ...;
// 循环置换后的循环
for (j=0; j<=n; j++)
for (k=0; k<=m; k++)
p[j][k] = ...;
- 循环融合与分裂 :有时可将两个独立的循环合并,有时则把一个循环拆分成两个。示例代码如下:
// 循环融合前
for (j=0; j<=n; j++)
p[j]= ... ;
for (j=0; j<=n; j++)
p[j]= p[j] + ...;
// 循环融合后
for (j=0; j<=n; j++) {
p[j]= ... ;
p[j]= p[j] + ...
}
超级会员免费看
订阅专栏 解锁全文
260

被折叠的 条评论
为什么被折叠?



