...

Package iobufpool

import "github.com/jackc/pgx/v5/internal/iobufpool"
Overview
Index

Overview ▾

Package iobufpool implements a global segregated-fit pool of buffers for IO.

It uses *[]byte instead of []byte to avoid the sync.Pool allocation with Put. Unfortunately, using a pointer to avoid an allocation is purposely not documented. https://github.com/golang/go/issues/16323

func Get

func Get(size int) *[]byte

Get gets a []byte of len size with cap <= size*2.

func Put

func Put(buf *[]byte)

Put returns buf to the pool.