Categorygithub.com/rleiwang/svb
repositorypackage
0.0.0-20230815175808-39d0cb18680a
Repository: https://github.com/rleiwang/svb.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Stream VByte in Go with SIMD

This is another pure Go implementation of Stream VByte: Faster Byte-Oriented Integer Compression.

It uses avo by Michael McLoughlin to generate Go assembler code. This Go implementation has referenced https://github.com/lemire/streamvbyte

Random Access

Codec.Get random access implements idea based on Partitioned Elias-Fano Indexes

Speed Test

Uint32Decoder performance benchmark measures the latency to decode 1 million uint32. Codec.Get measures the latency of random access 1000 members among 1 million uint32.

svb/perf ❯❯❯ go test -bench .
FunctionCascade LakeSkylake
Uint32Decode3213562586ns17394533ns
Uint32Decode128331368ns411102ns
Uint32Decode256327100ns406230ns
Uint32Decode512470571ns569497ns
Codec.Getns144818ns