// Package pool contains helpers for pooling structures distinguishable by // size. // // Quick example: // // import "github.com/gobwas/pool" // // func main() { // // Reuse objects in logarithmic range from 0 to 64 (0,1,2,4,6,8,16,32,64). // p := pool.New(0, 64) // // buf, n := p.Get(10) // Returns buffer with 16 capacity. // if buf == nil { // buf = bytes.NewBuffer(make([]byte, n)) // } // defer p.Put(buf, n) // // // Work with buf. // } // // There are non-generic implementations for pooling: // - pool/pbytes for []byte reuse; // - pool/pbufio for *bufio.Reader and *bufio.Writer reuse; // package pool