提升内存缓存的碎片内存复用效率

This commit is contained in:
GoEdgeLab
2023-10-07 11:56:34 +08:00
parent c3364df6cb
commit a29351bedc
5 changed files with 691 additions and 30 deletions

View File

@@ -33,7 +33,16 @@ func NewMemoryWriter(memoryStorage *MemoryStorage, key string, expiredAt int64,
Status: status,
}
if expectedBodySize > 0 {
valueItem.BodyValue = make([]byte, expectedBodySize)
bodyBytes, ok := SharedFragmentMemoryPool.Get(expectedBodySize) // try to reuse memory
if ok {
valueItem.BodyValue = bodyBytes
} else {
if expectedBodySize >= minMemoryFragmentPoolItemSize {
SharedFragmentMemoryPool.IncreaseNew()
}
valueItem.BodyValue = make([]byte, expectedBodySize)
}
valueItem.IsPrepared = true
}
var w = &MemoryWriter{