mirror of
https://codeberg.org/icewind/tf-log-parser.git
synced 2026-06-03 18:24:09 +02:00
25 lines
689 B
Rust
25 lines
689 B
Rust
use iai::black_box;
|
|
use std::convert::TryFrom;
|
|
use tf_log_parser::raw_event::RawSubject;
|
|
use tf_log_parser::{parse, LineSplit, RawEvent, SubjectId};
|
|
|
|
static LOG: &str = include_str!("../test_data/log_2892242.log");
|
|
|
|
pub fn parse_benchmark() {
|
|
black_box(parse(black_box(LOG))).ok();
|
|
}
|
|
|
|
pub fn parse_raw() {
|
|
black_box(
|
|
LineSplit::new(black_box(&LOG))
|
|
.filter(|line| !line.is_empty())
|
|
.flat_map(RawEvent::parse)
|
|
.count(),
|
|
);
|
|
}
|
|
pub fn subject_id() {
|
|
let raw = black_box(RawSubject::Player("Kumis<10><[U:1:169048576]><Blue>"));
|
|
black_box(SubjectId::try_from(&raw).unwrap());
|
|
}
|
|
|
|
iai::main!(parse_benchmark, parse_raw, subject_id);
|