Files
Martin DisibioandGitHub 9aaf851965 Upgrade parquet-go (#6030)
* Upgrade parquet-go to latest for StructTag option

* Upgrade parquet-go to get latest alloc fix
2025-12-04 15:04:47 -05:00
..
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00
2025-12-04 15:04:47 -05:00

bitpack

Go Reference

A high-performance Go library for bit packing and unpacking integers of various bit widths. Part of the parquet-go ecosystem.

Includes AMD64 assembly optimizations with pure Go fallback for portability.

go get github.com/parquet-go/bitpack

Usage

import "github.com/parquet-go/bitpack"

// Pack int32 values with 3-bit width
values := []int32{1, 2, 3, 4, 5}
bitWidth := uint(3)
packedSize := bitpack.ByteCount(uint(len(values)) * bitWidth)
dst := make([]byte, packedSize+bitpack.PaddingInt32)
bitpack.PackInt32(dst, values, bitWidth)

// Unpack int32 values
unpacked := make([]int32, len(values))
bitpack.UnpackInt32(unpacked, dst, bitWidth)

For complete working examples, see the examples directory.