cargo install kura-rs
kura add log-parse将 3 个源码文件复制到你的项目中。此后代码完全归你所有。
如果其他工具已经安装了 kura 命令,请运行 cargo install kura-rs --bin kura-rs,并改用 kura-rs add。
use crate::parts::log_parse::{parse_line, Format};
for line in reader.lines() {
let record = parse_line(Format::Rfc5424, &line?)?;
println!("{} {}", record.host, record.message);
}验证
示例数据使用黄金文件比对与 re 3.12(Python)进行对照:向两个实现输入相同数据,并比较输出结果。
参考实现
re
Python 3.12
测试用例
1,200
黄金文件比对
通过
1,200 / 1,200
全部一致
最近运行
2026年9月26日
UTC
以下数值仅为占位。 这些数值尚未经过实测,请勿当作真实结果。该组件在其 registry 文件中标记为 "sample": true。
基准测试
示例数据在不同输入规模下对比 kura-rs(Rust)与 re。 在所有测量的输入规模下均更快,最高快 20×。
以下数值仅为占位。 这些数值尚未经过实测,请勿当作真实结果。该组件在其 registry 文件中标记为 "sample": true。
kura-rs (Rust)re
显示数据表
| 输入规模 | kura-rs (Rust) | re | 加速比 |
|---|---|---|---|
| 100 | 0.03 ms | 0.4 ms | 13× |
| 1,000 | 0.21 ms | 3.9 ms | 19× |
| 10,000 | 2 ms | 39 ms | 20× |
| 100,000 | 20 ms | 395 ms | 20× |
| 1,000,000 | 196 ms | 3.96 s | 20× |
文件
- parts/log_parse/mod.rs
- parts/log_parse/syslog.rs
- parts/log_parse/access.rs