GeistHaus
log in · sign up

GitHub - bazhenov/svbyte: Rust implementation of Stream VByte decompression algorithm

github.com

Rust implementation of Stream VByte decompression algorithm - bazhenov/svbyte

2 pages link to this URL
bazhenov.me

Projects Link to heading Here is the list of open source project I’ve developed through the years… Tango Link to heading Rust microbenchmarking harness based on paired-testing methodology safe-cargo Link to heading A cargo wrapper that executes all commands within a sandboxed environment safeguards against supply chain attacks when executing untrusted code. Groovysh Server Link to heading Groovy shell embedded in an application and exposed via secure SSH channel. Helps to monitor and diagnose JVM applications using interactive REPL shell.

0 inbound links article en blogdeveloperpersonal
Compress-a-Palooza: Unpacking 5 Billion Varints in only 4 Billion CPU Cycles

Introduction Link to heading Varint is a widely recognized technique used for compressing integer streams. Essentially, it suggests that it can be more efficient to encode a number using a variable-length representation instead of a fixed-size binary representation. By removing leading zeros from the binary number, the overall representation size can be reduced. This technique works particularly well for encoding smaller numbers. In this article, I provide a brief introduction and rationale for varint encoding. Additionally, I describe the Stream VByte format, which enables fully vectorized decoding through SSSE3 instructions. I also share my findings from implementing this algorithm in Rust, which includes both encoding and decoding primitives and the ability to read data from both RAM and disk.

2 inbound links article en posts blogdeveloperpersonalPerformanceRustCpu