cargo install kura-rs
kura add multi-pattern-match将源码文件复制到你的项目中。此后代码完全归你所有。
如果其他工具已经安装了 kura 命令,请运行 cargo install kura-rs --bin kura-rs,并改用 kura-rs add。
use crate::parts::multi_pattern_match::Matcher;
let matcher = Matcher::new(&iocs);
for hit in matcher.find_all(&payload) {
alert(hit.pattern, hit.offset);
}验证
示例数据使用差分测试与 pyahocorasick 2.1.0(Python)进行对照:向两个实现输入相同数据,并比较输出结果。
参考实现
pyahocorasick
Python 2.1.0
测试用例
3,000
差分测试
通过
2,997 / 3,000
3 个不一致
最近运行
2026年9月26日
UTC
以下数值仅为占位。 这些数值尚未经过实测,请勿当作真实结果。该组件在其 registry 文件中标记为 "sample": true。
基准测试
示例数据在不同输入规模下对比 kura-rs(Rust)与 pyahocorasick。 在所有测量的输入规模下均更快,最高快 5.0×。
以下数值仅为占位。 这些数值尚未经过实测,请勿当作真实结果。该组件在其 registry 文件中标记为 "sample": true。
kura-rs (Rust)pyahocorasick
显示数据表
| 输入规模 | kura-rs (Rust) | pyahocorasick | 加速比 |
|---|---|---|---|
| 1,000 | 0.02 ms | 0.05 ms | 2.5× |
| 10,000 | 0.14 ms | 0.52 ms | 3.7× |
| 100,000 | 1.3 ms | 5.8 ms | 4.5× |
| 1,000,000 | 13 ms | 61 ms | 4.7× |
| 10,000,000 | 128 ms | 640 ms | 5.0× |
文件
- parts/multi_pattern_match/mod.rs