andreheringer/calitx

Improve timestamp/gorilla compression/decompression engine

Closed this issue · 0 comments

There are a couple of improvements demonstrated by Michael Baum in hes teases. Namely:

  • Increase maximum delta storage size from 14 bits to 32 bits (Baum uses 27, but I feel like 32 will be fine), in order to support millisecond precision.
  • Increase the number of bits dedicated to encode the number of leading zeros in value compression from 5 to 6
  • Use ZigZag encoding and reduce the value by one to reduce branch prediction
  • Implement a first-order DFCM predictor

Baum implementation for reference here