journal/journslog/pools.go

41 lines
611 B
Go
Raw Normal View History

2026-01-18 13:47:50 +00:00
package journslog
import (
"log/slog"
"sync"
"src.lwithers.me.uk/go/journal"
)
var attrPool = sync.Pool{
New: func() any {
return make([]slog.Attr, 0, 16)
},
}
func attrPoolGet() []slog.Attr {
slice := attrPool.Get().([]slog.Attr)
return slice[:0]
}
func attrPoolPut(slice []slog.Attr) {
clear(slice)
attrPool.Put(slice)
}
var jattrPool = sync.Pool{
New: func() any {
return make([]journal.Attr, 0, 16)
},
}
func jattrPoolGet() []journal.Attr {
slice := jattrPool.Get().([]journal.Attr)
return slice[:0]
}
func jattrPoolPut(slice []journal.Attr) {
clear(slice)
jattrPool.Put(slice)
}