Crates.io | group-varint-offset-encoding |
lib.rs | group-varint-offset-encoding |
version | 0.1.1 |
source | src |
created_at | 2022-11-15 11:48:27.714556 |
updated_at | 2022-11-15 11:59:37.729359 |
description | Fast algorithm to compress lists if integers in blocks of 4. Appends 0s to blocks, if length of input is not divisable by 4. |
homepage | |
repository | https://github.com/nilsmartel/int-compression |
max_upload_size | |
id | 715635 |
size | 29,565 |
Compressed integers in blocks of 3.
Has good compretion rate, even with outliers.
Utilized offset encoding to store less bytes.
Appends zeros to your data, if it can't be grouped into 3. Manually keep track of the exact amount if needed.
let data: Vec<u32> = ...;
use group_varint_offset_encoding::{ compress, decompress };
// anything that can be iteratored into u32s works fine.
let compressed_data = compress(&data);
let decompressed_data = decompress(&compressed_data).to_vec();