SIMD 浮点和整数压缩向量库

时间:2024-07-18 11:50:28
【文件属性】:

文件名称:SIMD 浮点和整数压缩向量库

文件大小:64KB

文件格式:ZIP

更新时间:2024-07-18 11:50:28

rust compression simd

压缩向量浮点和整数压缩向量库,支持 SIMD,用于对压缩表示进行快速处理/迭代。这是一个压缩的 vec库,而不是一个压缩库。这意味着什么?压缩库采用一些未压缩的数据并提供本质上的 compress() 和 decompress() 函数。通常,您必须解压缩数据才能对其执行任何操作,从而导致额外的延迟和分配。另一方面,这个压缩的 vec库允许您直接迭代和处理压缩的表示。它旨在平衡快速迭代和 SIMD 处理/过滤,同时使用增量和异或编码等技术将向量压缩到最佳列压缩技术(如 Apache Parquet)的 2 倍以内。应用:数据库引擎大内存数据处理需要快速访问大量 FP 向量/矩阵的游戏和其他应用程序性能数据数字来自我的笔记本电脑:2.9 GHz Core i9、6/12 核、12MB L3、AVX2;来自运行cargo bench vector ,它直接在编码/压缩向量上对过滤器和计数匹配操作进行基准测试。矢量类型 元素/秒 每秒原始 GB u32 密集(无稀疏) 1.7 Gelems/s 6.8 GB/秒 u32 稀疏(99% 零) 13.9 Gelems/s 55.6 GB/秒 两个


【文件预览】:
compressed-vec-main
----rust-toolchain(19B)
----rustfmt.toml(78B)
----.github()
--------workflows()
----LICENSE(11KB)
----src()
--------error.rs(721B)
--------filter.rs(12KB)
--------byteutils.rs(2KB)
--------nibblepack_simd.rs(30KB)
--------vector.rs(30KB)
--------sink.rs(10KB)
--------nibblepacking.rs(28KB)
--------lib.rs(6KB)
--------section.rs(45KB)
--------histogram.rs(9KB)
----Cargo.toml(1KB)
----proptest-regressions()
--------nibblepack_simd.txt(492B)
--------nibblepacking.txt(1KB)
----benches()
--------bench.rs(11KB)
----examples()
--------2d_delta_bench.rs(2KB)
----.gitignore(70B)
----.cargo()
--------config(78B)
----.circleci()
--------config.yml(1KB)
----vector_format.md(6KB)
----README.md(5KB)

网友评论