文件名称:使用 SIMD 加速 Rust 编辑距离例程。 支持快速汉明、Levenshtein、受限Damerau-Levenshtein等距离计算和字符串搜索。
文件大小:42KB
文件格式:ZIP
更新时间:2024-07-18 12:12:15
rust algorithms sse simd levenshtein
三重加速使用 SIMD 加速 Rust 编辑距离例程。支持快速汉明、Levenshtein、受限Damerau-Levenshtein等距离计算和字符串搜索。尽管矢量化 SIMD 代码比它们的标量对应物允许高达 20-30 倍的加速,但处理依赖于平台的 SIMD 代码的困难使得 SIMD 例程不那么有吸引力。该库的目标是在 SIMD 编辑距离例程上提供易于使用的抽象,如果不支持目标 CPU 体系结构,这些例程将回退到标量例程。此外,应该预先提供编辑距离例程的所有限制和权衡,以便用户确切地知道会发生什么。最后,这个库应该会提高短字符串和长字符串的性能,因此它可以用于各种任务,从生物信息学到自然语言处理。triple_accel非常轻量级:它只依赖于其他板条箱进行基准测试。它可以构建在没有 CPU 支持 AVX2 或 SSE4.1 的机器上。通过自动使用标量替代方案,它还可以在没有 SIMD 支持的机器上运行。安装添加triple_accel = "*"到Cargo.toml的[dependencies]部分。这个库可以在这里上crates.io。或者,您可以克隆此存储库并运行cargo
【文件预览】:
triple_accel-master
----Cargo.toml(1KB)
----.github()
--------workflows()
----src()
--------hamming.rs(20KB)
--------jewel.rs(103KB)
--------lib.rs(9KB)
--------levenshtein.rs(80KB)
----build_ir_asm.sh(53B)
----CONTRIBUTING.md(809B)
----LICENSE(1KB)
----README.md(7KB)
----tests()
--------basic_tests.rs(27KB)
----CODE_OF_CONDUCT.md(3KB)
----.gitignore(19B)
----benches()
--------rand_benchmarks.rs(10KB)