fix buffer pool

This commit is contained in:
Jason
2019-08-12 15:15:35 +08:00
parent 2254731d3b
commit 757fd11af5
4 changed files with 29 additions and 6 deletions

23
core/buffer_pool.go Normal file
View File

@@ -0,0 +1,23 @@
package core
import (
"sync"
)
const defaultBufferSize = 2 * 1024
var bufPool = sync.Pool{New: func() interface{} { return make([]byte, defaultBufferSize) }}
func newBytes(size int) []byte {
if size <= defaultBufferSize {
return bufPool.Get().([]byte)
} else {
return make([]byte, size)
}
}
func freeBytes(b []byte) {
if len(b) >= defaultBufferSize {
bufPool.Put(b)
}
}