buffer_pool.go 458 B

1234567891011121314151617181920212223242526272829303132
  1. package buf
  2. import (
  3. "sync"
  4. )
  5. const (
  6. // Size of a regular buffer.
  7. Size = 2 * 1024
  8. )
  9. func createAllocFunc(size uint32) func() interface{} {
  10. return func() interface{} {
  11. return make([]byte, size)
  12. }
  13. }
  14. var pool2k = &sync.Pool{
  15. New: createAllocFunc(2 * 1024),
  16. }
  17. var pool8k = &sync.Pool{
  18. New: createAllocFunc(8 * 1024),
  19. }
  20. var pool64k = &sync.Pool{
  21. New: createAllocFunc(64 * 1024),
  22. }
  23. var pool128k = &sync.Pool{
  24. New: createAllocFunc(128 * 1024),
  25. }