美文网首页
C++程序性能优化指南

C++程序性能优化指南

作者: 拉普拉斯妖kk | 来源:发表于2021-01-31 19:13 被阅读0次

原则

  • 《More Effective C++》书中效率部分第一条就是80—20准则。说得是——大约 20%的代码使用了 80%的程序资源;大约 20%的代码耗用了大约 80%的运行时间;大约 20%的代码使用了 80%的内存。因此,一些简单的优化也能显著提高程序性能。

  • 先完成程序功能,再考虑性能优化的事,否则会出现代码可读性差,过度抽象等问题。

  • 大部分的性能优化其实都是在做时间和空间的权衡,空间换时间,或者时间换空间。

  • 良好的代码风格和代码规范能有效的避免性能问题的出现,所以codereview也很重要。

  • 我们真正想大幅度的提升程序性能需要借助程序分析器(profiler)寻找出程序的性能瓶颈,针对这个瓶颈进行代码层面,算法层面,架构层面等多方面的优化。

常用优化方法

  • 空间足够时,可以将经常需要读取的资源,缓存在内存中。

  • 尽量减少大内存对象的构造与析构,考虑缓存暂时不用的对象,等待后续继续使用。

  • 尽量使用C++11的右值语义,减少临时对象的构造。

  • 简单的功能函数可以使用内联。少用继承,多用组合,尽量减少继承层级。

  • 在循环遍历时,优化判断条件,减少循环次数。

  • 优化线程或进程的同步方式,能用原子操作的就不用锁。能应用层同步的就不用内核对象同步。

  • 优化堆内存的使用,如果有内存频繁的申请与释放,可以考虑内存池。

  • 优化线程的使用,节省系统资源与切换造成的性能损耗,线程使用频繁的可以考虑线程池。

  • 尽量使用事件通知,谨慎使用轮循或者sleep函数。

  • 界面开发中,耗时的业务代码不要放在UI线程中执行,使用单独的线程去异步处理耗时业务,提高界面响应速度。

  • 经常重构、优化代码结构。优化算法或者架构,从设计层面进行性能的优化。

相关文章

  • 图灵计算机科学系列丛书大收集

    C/C++ [图灵程序设计丛书].C++性能优化指南[图灵程序设计丛书].嗨翻C语言 C# [图灵程序设计丛书]....

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

  • spark性能调优

    [Spark性能优化指南——基础篇][Spark性能优化指南——高级篇]

  • C++程序性能优化指南

    原则 《More Effective C++》书中效率部分第一条就是80—20准则。说得是——大约 20%的代码使...

  • 目录

    Spark之参数介绍 Spark之性能优化2.1. 官方性能优化指南2.2. Spark性能优化指南——基础篇2....

  • 《C++性能优化指南》电子书高清电子版,建议保存下来

    书籍简介 C++性能优化指南 作者: Kurt Guntheroth 出版社:人民邮电出版社 原作名:Optimi...

  • 内存池

    参考资料 C++内存池介绍与经典内存池的实现 C++ 应用程序性能优化,第 6 章:内存池 linux c++ 内...

  • 前端性能优化系列

    【性能优化指南】带你全面掌握前端性能优化 ?https://segmentfault.com/a/11900000...

  • 美团关于大数据技术的文章

    Spark性能优化指南——基础篇Spark性能优化指南——高级篇Spark在美团的实践Kafka文件存储机制那些事...

  • 前端工程系列(二)

    前端工程与性能优化 首先,我们把雅虎14条优化原则,《高性能网站建设指南》以及《高性能网站建设进阶指南》中提到的优...

网友评论

      本文标题:C++程序性能优化指南

      本文链接:https://www.haomeiwen.com/subject/fkdrtltx.html