内存分配存在性能瓶颈怎么办?

当内存分配成为性能瓶颈时,可以考虑使用高性能内存分配库如tcmalloc。tcmalloc利用thread cache减少锁竞争,提高多线程环境下的内存分配效率。通过LD_PRELOAD或直接链接,可以轻松替换libc的malloc。实测显示,tcmalloc在内存分配上比libc更高效。
摘要由CSDN通过智能技术生成

title: 性能优化-使用高效内存分配器
date: 2020-12-20 22:00:00
comments: true
categories: 性能优化
tags: [性能优化]

性能优化是一个常有的事情,通常来说

  • 不要过早优化-当你没有性能问题时,不需要过早考虑优化,当然对于一些代价很小,收益却很大的手段可以考虑做进来,例如最常见的就是根据业务需求选择合适的数据结构。
  • 不要过度优化。优化都是有目标的,比如你需要达到多少TPS,那么你按照这个目标去优化即可,有些优化虽然能否提升性能,但可能对代码的可维护性造成破坏。

本人对此没有过多涉猎,仅分享工作中接触到的一些内存。

内存性能问题

有很多方面会造成性能问题,例如:

  • 业务流程设计不合理,导致很多没有必要的计算
  • 数据结构选择不合适
  • 缓存使用不当

示例

假设你已经通过《perf:一个命令发现性能问题》中的方法或者使用profiler分析,已经发现内存分配是性能瓶颈:

// 来源:公众号【编程珠玑】
// 作者:守望先生
// malloc.cc
#include <thread>
#includ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值