C++性能优化——热点语句优化(语句级优化)

C++性能优化之热点语句优化

写在最前面:除非有一些因素放大了语句的性能开销,比如深层次的loop嵌套,否则对于桌面级设备处理器不值得进行语句级别的性能优化,因为所带来的性能提升不大。本篇内容主要是对循环、函数调用、惯用编程习惯中的优化进行介绍。主要内容来自于《C++性能优化指南》的第七章。很多都只给了小节的名字,因为其具体的介绍个人感觉没有必要写上来,看小节标题足矣。


总结:对于性能越差的处理器,语句级优化的效果越明显。语句级优化的效果与编译器有关。

这一章主要介绍语句级别的优化,可以模式化为从执行流中移出指令的过程。

这部分的问题在于,除了函数调用外,没有哪条C++语句会消耗许多条机器指令。需要找到代码中将这些微小性能的损耗放大、使得它们值得优化的因素,大概有这么几个:

  • 循环
  • 频繁被调用的函数
  • 贯穿整个程序的惯用法

语句级别的优化能显著改善一些简单的嵌入式设备处理器的性能,对于桌面级处理器的优化带来的回报比优化内存分配和复制要小。

桌面级设备应当只对那些会被频繁调用的库函数或者是程序中最底层的循环进行语句级别的优化。

语句级的优化还有一个问题:优化效果取决于编译器。对于特定的C++语句,每种编译器有不同的方案。适用于某个编译器的惯用手法可能在另一个编译器上不起作用。并且,当升级编译器后,新的编译器可能会降低之前精心进行的语句级优化。

7.1 从循环中移出代码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值