串行代码性能优化

      最近看了并行算法设计与性能优化的书,记录一下串行代码性能优化的一些方法。串行代码性能优化与并行代码优化同等重要,而且可能会获得成千上万倍的加速效果。一般分为七个级别:

1、系统级别 2、应用级别 3、算法级别 4、函数级别 5、循环级别 6、语句级别 7、指令级别

一、应用级别:

1、编译器选项 2、调用高性能库 3、去掉全局变量 4、受限的指针 5、条件编译

二、函数级别

1、函数调用参数的方式 2、内联小函数 

三、循环级别

1、循环展开 2、循环累积 3、循环合并 4、 循环拆分

四、语句级别

1、减少内存读写 2、选用尽量小的数据类型 3、结构体内变量的书写顺序,大的写前面 4、表达式移除 5、分支优化,包括尽量避免把判断放到循环里面,而应该把判断放循环外面。然后就是拆分循环、合并多个条件、使用条件复制指令以移除分支、查表法移除分支、分支顺序等 6、优化交换性能

五、指令级别

1、减少数据依赖 2、优化乘除法和模余,位运算代替 3、选择更具体的库函数或算法 4、其他使用const、static 少用 虚函数等

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值