#distance #edit #edit-distance #ziv #lempel

bin+lib lzjd

Rust 实现的 LZJD 算法 (https://github.com/EdwardRaff/jLZJD)

5 个版本

0.2.0 2019年7月12日
0.1.3 2019年3月22日
0.1.2 2019年3月20日
0.1.1 2019年3月20日
0.1.0 2019年3月20日

522 in 压缩

GPL-3.0 许可证

28KB
659

LZJD

文档

Rust 实现的基于 jLZJD 的 Lempel-Ziv Jaccard Distance (LZJD) 算法

主要区别

  • Rust 代替 Java
  • 可以使用任何哈希器(可执行文件使用 CRC32)而不是仅仅 Murmur3
  • 不会为每个唯一的哈希分配内存,而是保持 k=1024 个最小的
  • 基于 Vec 而不是 IntSetNoRemove,更类似于 HashMap
  • 如果已经消化了小序列,则哈希文件将显著更小
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

另请参阅

依赖关系

~6–14MB
~172K SLoC