Replies: 1 comment
|
Performance update: fastalp v0.1.37 release I have updated the benchmark observations with the latest fastalp v0.1.37 release (published on crates.io with source code at fastalp). Key improvements and updated metrics:
|
|
Performance update: fastalp v0.1.37 release I have updated the benchmark observations with the latest fastalp v0.1.37 release (published on crates.io with source code at fastalp). Key improvements and updated metrics:
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
In real-time analytical databases and MPP columnar engines, floating-point numeric columns (such as business metrics, financial figures, sensor telemetry, and latency stats) consume significant storage volume and memory bandwidth during column scans. Traditional floating-point codecs such as Gorilla, Chimp, and Patas rely on bitwise XOR differences and sequential bitstreams. These variable bit-alignments inherently impose serial dependencies during decoding, hindering SIMD vectorization across vector lanes.
Over the past months, I have been working on fastalp (available on crates.io), an implementation of the Adaptive Lossless Floating-Point (ALP) compression algorithm. Instead of bitwise XOR operations, it samples block values to identify the optimal decimal exponent e, scales numbers into exact integers via multiplication by 10^e, and compresses them using Frame-of-Reference (FOR) bit-packing.
Key architectural characteristics:
Benchmark results measured on standard time-series datasets (weather telemetry, stock metrics, disk monitoring) with 1,000 double-precision values per batch:
In these measurements, fastalp achieved 16.34 bits/val while completing decompression in 0.423 µs per 1,000 values (over 2.3 billion values per second on a single core).
I hope these benchmark figures and architectural observations offer useful context for columnar vector format evaluations and compression discussions in Doris.
All reactions