3 个版本
0.1.3 | 2024年5月6日 |
---|---|
0.1.2 | 2023年9月17日 |
0.1.1 |
|
0.1.0 | 2023年8月22日 |
#149 in 压缩
808 每月下载
用于 3 个 Crates(2 个直接使用)
28KB
567 代码行
LZJD
Rust 对 Edward Raff 的 jLZJD 基于 Lempel-Ziv Jaccard Distance (LZJD) 算法的实现。
主要区别
- Rust 而不是 Java
- 可以使用任何散列函数(可执行文件使用 CRC32)而不是只有 Murmur3
- 不为每个唯一的散列分配内存,而是保持 k=1024 个最小的
- 基于
Vec<u64>
而不是IntSetNoRemove
,这更类似于 HashMap - 如果消除了小序列,散列文件将显著减小
此分支有少量更改
- 更新到 Rust 版本 2021。
- 删除阻止其在非 x86 硬件上工作的依赖项。
USAGE:
lzjd [FLAGS] [OPTIONS] <INPUT>...
FLAGS:
-c, --compare compare SDBFs in file, or two SDBF files
-r, --deep generate SDBFs from directories and files
-g, --gen-compare compare all pairs in source data
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-o, --output <FILE> send output to files
-t, --threshold <THRESHOLD> only show results >= threshold [default: 1]
ARGS:
<INPUT>... Sets the input file to use
另请参阅
依赖关系
~3–11MB
~115K SLoC