首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Go 里用 sync.Pool 缓存临时对象,为什么你的对象池反而更慢了?

Go 里用 sync.Pool 缓存临时对象,为什么你的对象池反而更慢了?

作者头像
用户12771345
发布于 2026-11-13 10:15:21
发布于 2026-11-13 10:15:21
60
举报
概述
在 Go 服务里频繁创建临时对象会让 GC 压力变大,sync.Pool 常被拿来复用缓冲区、请求上下文这类短生命周期对象。但不少人用完之后发现分配次数没降多少,P99 反而抖了,甚至出现内存占用比不用池还高的情况。原因通常不在 Pool 本身,而是对它的生命周期理解有偏差:Pool 里的对象会在每次 GC 时被清理,Get 返回的对象状态不确定,Put 的对象大小不固定会导致池内对象尺寸参差。下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档