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