关于tiny对象的分配
来源:1-13 Go 语言的内存管理与垃圾回收
go是最好的语言
2021-06-07 17:42:06
曹大,本地tiny满了之后,为啥是从第5个位置的mspan开始呀?
2回答
tiny 对应一个全局常量 tinySpanClass
tinySpanClass = spanClass(tinySizeClass<<1 | 1)
tinySizeClass = _TinySizeClass
_TinySizeClass = int8(2)
type spanClass uint8
uint8(2 << 1 | 1) = 5
Xargin
2021-06-12
之前这个答案结论没问题,不过当时画的图上那个 64 bytes 有问题,应该是 16 bytes
spanClass 是 5,算 sizeclass 的时候是,spanClass >> 1
也就是要除 2,得到的 sizeclass 是 2,
spanClass 对应第 5 个槽,但 sizeclass 对应的是 16 字节,
课上的 ppt 的 64 bytes 有点问题,应该是 16 bytes
相似问题