github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/storage/stores/tsdb/index/pool.go (about)

     1  package index
     2  
     3  import "sync"
     4  
     5  var ChunkMetasPool PoolChunkMetas
     6  
     7  type PoolChunkMetas struct {
     8  	pool sync.Pool
     9  }
    10  
    11  func (p *PoolChunkMetas) Get() []ChunkMeta {
    12  	if xs := p.pool.Get(); xs != nil {
    13  		return xs.([]ChunkMeta)
    14  	}
    15  	return make([]ChunkMeta, 0, 1<<10)
    16  }
    17  
    18  func (p *PoolChunkMetas) Put(xs []ChunkMeta) {
    19  	xs = xs[:0]
    20  	//nolint:staticcheck
    21  	p.pool.Put(xs)
    22  }