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 stream processing and event-driven analytical storage (such as financial tickers, cryptocurrency order books, network metrics, and IoT sensor streams), high-frequency floating-point metrics represent a substantial portion of in-memory state and LSM-tree SSTable storage. Traditional floating-point codecs like Gorilla or Chimp rely on sequential bitstreams with variable-length bit-shifts, which can constrain single-core decompression throughput during vectorized stream scans and state checkpoints.
Over the past months, I have been developing fastalp (available on crates.io), an implementation and optimization of the Adaptive Lossless Floating-Point (ALP) compression algorithm written in pure safe Rust. Instead of XORing successive IEEE 754 representations, it samples block values to detect the decimal exponent e, transforms floats into exact integers via multiplication by 10^e, and encodes them using Frame-of-Reference (FOR) bit-packing.
Key architectural characteristics:
Benchmark results measured on standard time-series datasets (weather telemetry, stock market prices, disk metrics) 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 (2.36 billion values per second on a single core).
I hope these benchmark figures and architectural observations offer helpful reference for storage engine encoding evaluations and block codec discussions in RisingWave.
All reactions