【厚积薄发系列】C++项目总结5—内存优化专项

接上【厚积薄发】编程技术项目总结4—效率优化专项 https://blog.csdn.net/lujiang0120/article/details/79457276

需求背景:

前段时间入组了一个大型C/S架构的项目(目前代码量300万+左右),入组时项目的开发已经进入了中后期。随着常规需求的研发完成,随之而来的就是性能问题,性能问题包括效率问题和内存问题,上篇已经写了效率问题。大型项目特别是大型的桌面应用类软件对内存要求无疑也是个巨大的挑战。

优化思路:

主要是两个层次:系统设计层次、代码层次。

具体实现:

代码层次:

1、已有代码中内存泄漏问题解决,借助工具输出内存泄漏报告,再开发结合报告去分析解决。用到的主要工具有VLD内存泄漏检测工具或者UMDH(后面写篇文章详细说明)。

2、程序中占那内存比较大的对象的生命周期优化,做要生命周期最优化,合适的时间及时释放不要一直占据内存。

3、日常研发的代码提交的时候代码审查,关注内存泄漏问题。

4、智能指针的引入(后面写篇文章详细说明)。

系统层次:

1、Tcmalloc内存分配器的引入,能够解决内存碎片问题(后面写篇文章详细说明)。

2、合理拆分模块和实现多进程,本项目中可以把软件拆分为绘图建模和模型算量两个进程。

3、设计模式的优化,当前软件是基于策略模式的,策略模式的缺点是调用端必须知道所有的策略,也就是说会初始化出所有的策略对象,导致小对象膨胀。采用享元模式跟策略模式结合的方式来优化小对象过多的问题,类似对象池的概念。后面写篇文章详细说明

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值