_            _    _        _         _
      /\ \         /\ \ /\ \     /\_\      / /\
      \_\ \       /  \ \\ \ \   / / /     / /  \
      /\__ \     / /\ \ \\ \ \_/ / /     / / /\ \__
     / /_ \ \   / / /\ \ \\ \___/ /     / / /\ \___\
    / / /\ \ \ / / /  \ \_\\ \ \_/      \ \ \ \/___/
   / / /  \/_// / /   / / / \ \ \        \ \ \
  / / /      / / /   / / /   \ \ \   _    \ \ \
 / / /      / / /___/ / /     \ \ \ /_/\__/ / /
/_/ /      / / /____\/ /       \ \_\\ \/___/ /
\_\/       \/_________/         \/_/ \_____\/
go-github-com-libp2p-go-buffer-pool 0.1.0
Channel: guix
Location: gnu/packages/golang-xyz.scm (gnu packages golang-xyz)
Home page: https://github.com/libp2p/go-buffer-pool
Licenses: Expat Modified BSD
Synopsis: Variable size buffer pool for Golang
Description:

This package provides a variable size buffer pool for Golang.

go-buffer-pool provides:

  • BufferPool: A pool for re-using byte slices of varied sizes. This pool will always return a slice with at least the size requested and a capacity up to the next power of two. Each size class is pooled independently which makes the BufferPool more space efficient than a plain sync.Pool when used in situations where data size may vary over an arbitrary range.

  • Buffer: a buffer compatible with bytes.Buffer but backed by a BufferPool. Unlike bytes.Buffer, Buffer will automatically shrink on read, using the buffer pool to avoid causing too much work for the allocator. This is primarily useful for long lived buffers that usually sit empty.

Total results: 1