repositorypackage
0.0.0-20240129101850-8b1dee8e32a2
Repository: https://github.com/giedriuss/go-bp.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
# README
go-bp
Binary packing in Go
Features / TODO list
- Scalar implementation
- Fuzzing against the C++ implementation
- SIMD implementation
- Extend to AVX256 (ymm registers)
- Regular fuzz tests
- Benchmarks
How this works?
- Integers are in 128 mini blocks
- Each block contains 16 mini blocks (16 * 128 = 2048)
- Alignment to 128 bit boundaries for SIMD to work its magic
- AVX256 needs alignment to 256 bit boundaries
- Sorted input of integers, no duplicates