#64-bit #wrapper #integer-compression #byte-sequences #numbers #better #zig-zag

no-std uint-zigzag

Uint is a convenience wrapper for zig-zag encoding integers to byte sequences. This allows better compression since the majority of numbers are quite small resulting in 1 or 2 bytes in the most common case vs 4 for 32-bit numbers or 8 for 64-bit numbers. This also permits the user to not have to think about which integer type is the most efficient to compress

3 unstable releases

0.2.1 Oct 20, 2022
0.2.0 Sep 13, 2022
0.1.0 Aug 15, 2022

#409 in Compression

Download history 305/week @ 2024-07-21 497/week @ 2024-07-28 623/week @ 2024-08-04 529/week @ 2024-08-11 494/week @ 2024-08-18 540/week @ 2024-08-25 576/week @ 2024-09-01 896/week @ 2024-09-08 742/week @ 2024-09-15 899/week @ 2024-09-22 1122/week @ 2024-09-29 966/week @ 2024-10-06 762/week @ 2024-10-13 926/week @ 2024-10-20 889/week @ 2024-10-27 517/week @ 2024-11-03

3,124 downloads per month
Used in 7 crates (3 directly)

Apache-2.0 OR MIT

18KB
375 lines

Crate Docs Apache 2.0

Uint-ZigZag

Uint-zigzag is a convenience wrapper for zig-zag encoding integers to byte sequences.

This allows better compression since the majority of numbers are quite small resulting in 1 or 2 bytes in the most common case vs 4 for 32-bit numbers or 8 for 64-bit numbers.

This also permits the user to not have to think about which integer type is the most efficient to compress.

This crate is passively maintained.


lib.rs:

Uint is a convenience wrapper for zig-zag encoding integers to byte sequences.

This allows better compression since the majority of numbers are quite small resulting in 1 or 2 bytes in the most common case vs 4 for 32-bit numbers or 8 for 64-bit numbers.

This also permits the user to not have to think about which value is the most efficient to compress.

Dependencies

~235–540KB