关于c++:C程序性能优化指南

4次阅读

共计 689 个字符,预计需要花费 2 分钟才能阅读完成。

准则

  • 《More Effective C++》书中效率局部第一条就是 80—20 准则。说得是——大概 20%的代码应用了 80%的程序资源;大概 20% 的代码耗用了大概 80%的运行工夫;大概 20%的代码应用了 80%的内存。因而,一些简略的优化也能显著进步程序性能。
  • 先实现程序性能,再思考性能优化的事,否则会呈现代码可读性差,适度形象等问题。
  • 大部分的性能优化其实都是在做工夫和空间的衡量,空间换工夫,或者工夫换空间。
  • 良好的代码格调和代码标准能无效的防止性能问题的呈现,所以 codereview 也很重要。
  • 咱们真正想大幅度的晋升程序性能须要借助程序分析器(profiler)寻找出程序的性能瓶颈,针对这个瓶颈进行代码层面,算法层面,架构层面等多方面的优化。

罕用优化办法

  • 空间足够时,能够将常常须要读取的资源,缓存在内存中。
  • 尽量减少大内存对象的结构与析构,思考缓存临时不必的对象,期待后续持续应用。
  • 尽量应用 C ++11 的右值语义,缩小长期对象的结构。
  • 简略的性能函数能够应用内联。少用继承,多用组合,尽量减少继承层级。
  • 在循环遍历时,优化判断条件,缩小循环次数。
  • 优化线程或过程的同步形式,能用原子操作的就不必锁。能应用层同步的就不必内核对象同步。
  • 优化堆内存的应用,如果有内存频繁的申请与开释,能够思考内存池。
  • 优化线程的应用,节俭系统资源与切换造成的性能损耗,线程应用频繁的能够思考线程池。
  • 尽量应用事件告诉,审慎应用轮循或者 sleep 函数。
  • 界面开发中,耗时的业务代码不要放在 UI 线程中执行,应用独自的线程去异步解决耗时业务,进步界面响应速度。
  • 常常重构、优化代码构造。优化算法或者架构,从设计层面进行性能的优化。
正文完
 0