41 lines
611 B
Go
41 lines
611 B
Go
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)
|
|
}
|