针对动态内存分配、释放的性能优化checklist

本文提供了一套关于C++动态内存分配与释放的性能优化策略,包括使用内存池库、减少动态变量使用、预分配空间等技巧,并强调了减少内存拷贝的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

性能优化系列文章导航:《新的职业目标,以及C++性能优化

针对动态内存分配、释放的性能优化checklist

(1)使用内存池库。
     要求: 异常安全。
            线程安全,多线程支持。
            池化对象。池库中可以创建多个对象,一个对象一个池块,每个对象的内存块大小相同。
(2)减少动态变量的使用。
(3)为使用频繁的动态类定义类专用内存管理器。
     笔者对这一点并不十分理解。作者说这么做可以提高内存分配的速度,理由是new分配相同大小的内存块的速度比分配随机大小的内存块的速度要高效。
(4)预分配足够空间以防止动态变量的重新分配。
(5)减少内存拷贝。
(6)避免或减少对象的内存拷贝。如:
     拷贝构造
     赋值运算符
     函数参数
     函数返回值临时对象
     插入对象到STL容器
(7)使用指针的引用来避免指针传参错误。
(8)使用C++11的右值引用和std::move来优化临时对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值