#distance #edit-distance #edit #input-file #lzjd #ziv #lempel

bin+lib malwaredb-lzjd

Edward Raff 的 LZJD 算法的 Rust 实现 -- https://github.com/EdwardRaff/jLZJD

3 个版本

0.1.3 2024年5月6日
0.1.2 2023年9月17日
0.1.1 2023年9月17日
0.1.0 2023年8月22日

#149 in 压缩

Download history 335/week @ 2024-04-28 547/week @ 2024-05-05 200/week @ 2024-05-12 229/week @ 2024-05-19 167/week @ 2024-05-26 393/week @ 2024-06-02 231/week @ 2024-06-09 131/week @ 2024-06-16 72/week @ 2024-06-23 98/week @ 2024-06-30 153/week @ 2024-07-07 124/week @ 2024-07-14 152/week @ 2024-07-21 306/week @ 2024-07-28 164/week @ 2024-08-04 167/week @ 2024-08-11

808 每月下载
用于 3 个 Crates(2 个直接使用)

GPL-3.0 许可

28KB
567 代码行

TestLintCrates.io Version

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