mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
iai bench
This commit is contained in:
parent
e8143720a5
commit
0d99a9510b
6 changed files with 51 additions and 3 deletions
36
benches/iai.rs
Normal file
36
benches/iai.rs
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
use iai::black_box;
|
||||
use std::fs;
|
||||
use tf_demo_parser::demo::message::Message;
|
||||
use tf_demo_parser::demo::parser::MessageHandler;
|
||||
use tf_demo_parser::{Demo, DemoParser, MessageType, ParserState};
|
||||
|
||||
struct AllMessages;
|
||||
|
||||
impl MessageHandler for AllMessages {
|
||||
type Output = bool;
|
||||
|
||||
fn does_handle(_message_type: MessageType) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn handle_message(&mut self, message: &Message, _tick: u32) {
|
||||
black_box(message);
|
||||
}
|
||||
|
||||
fn into_output(self, _state: &ParserState) -> Self::Output {
|
||||
black_box(true)
|
||||
}
|
||||
}
|
||||
|
||||
fn bench_all() {
|
||||
let file = fs::read("data/gully.dem").expect("Unable to read file");
|
||||
let demo = Demo::new(&file);
|
||||
let stream = demo.get_stream();
|
||||
black_box(
|
||||
DemoParser::new_with_analyser(stream.clone(), AllMessages)
|
||||
.parse()
|
||||
.unwrap(),
|
||||
);
|
||||
}
|
||||
|
||||
iai::main!(bench_all);
|
||||
Loading…
Add table
Add a link
Reference in a new issue