Comments 3
избыточное обнуление заставляло Go закреплять больше виртуальных страниц за физической RAM
смиялсо.
мой OffPool использует MemAlloc:
func MemAlloc(n uintptr) unsafe.Pointer {
return rt_mallocgc(n, nil, false)
}
//go:linkname rt_mallocgc runtime.mallocgc
func rt_mallocgc(size uintptr, typ unsafe.Pointer, needzero bool) unsafe.Pointer
поднимите руки те, кто понял почему там FALSE needzero ;)
https://ders.by/go/blobmap/blobmap.html
Добавьте, пожалуйста, ссылку на оригинал статьи
В шапке статьи ссылка есть, продублирую сюда: https://www.datadoghq.com/blog/engineering/go-memory-regression/
Sign up to leave a comment.
Как мы выследили регрессию использования памяти в продакшен-сервисах на Go 1.24