cargo install kura-rs
kura add log-parse3 個のソースファイルを自分のプロジェクトにコピーします。以後、コードはあなたのものです。
別のツールの 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
この数値は仮のものです。 まだ計測していないため、実際の結果として読まないでください。この部品のレジストリファイルには "sample": true が付いています。
ベンチマーク
サンプルデータ入力サイズごとに kura-rs(Rust)と re を比べています。 計測したすべての入力サイズで速い。最大 20× 速い。
この数値は仮のものです。 まだ計測していないため、実際の結果として読まないでください。この部品のレジストリファイルには "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