文件名称:mayda:一个Rust库来压缩整数数组
文件大小:79KB
文件格式:ZIP
更新时间:2024-05-30 14:44:19
Rust
迈达 mayda是一个Rust库,用于压缩整数数组(支持所有原始整数类型)。 该设计有利于解压缩速度和在压缩率之上对压缩数组进行索引的能力,其原理是使用压缩数组的运行时代价应尽可能小。 此板条箱在单个压缩算法上提供了三种变体。 在2.6 GHz Intel Core i7-6700HQ处理器上, 类型可以每秒解压缩约60亿u32 s,或24 GiB / s的解压缩整数(具体请参见下文)。 和类型的解压缩速度略低于一半,但取决于整数的分布,其压缩率可能更高。 总体性能可与任何语言中最快(已知)的库相媲美。 编译mayda需要对SSE2指令集(2003年之后生产的任何Intel或AMD处理器)进行每晚编译器和CPU支持。 为了重现性,进一步在./rust-toolchain指定了编译器版本。 和描述了基本方法。 文献资料 提供了更多示例以及所涉及算法的一些更详细的描述。 用法 将此添加到
【文件预览】:
mayda-master
----.gitignore(146B)
----rust-toolchain(20B)
----LICENSE-MIT(1KB)
----README.md(7KB)
----Cargo.toml(585B)
----tests()
--------monotone.rs(22KB)
--------uniform.rs(22KB)
--------unimodal.rs(23KB)
--------quickcheck.rs(12KB)
----LICENSE-APACHE(11KB)
----mayda_codec()
--------LICENSE-MIT(1KB)
--------Cargo.toml(509B)
--------LICENSE-APACHE(11KB)
--------src()
----src()
--------utility.rs(6KB)
--------monotone.rs(54KB)
--------uniform.rs(55KB)
--------error.rs(993B)
--------unimodal.rs(72KB)
--------lib.rs(6KB)
----benches()
--------monotone.rs(6KB)
--------uniform.rs(6KB)
--------unimodal.rs(6KB)
----.travis.yml(1KB)
----mayda_macros()
--------LICENSE-MIT(1KB)
--------Cargo.toml(1KB)
--------LICENSE-APACHE(11KB)
--------src()