77 lines
2.2 KiB
Rust
77 lines
2.2 KiB
Rust
#[global_allocator]
|
|
static ALLOC: divan::AllocProfiler = divan::AllocProfiler::system();
|
|
|
|
fn main() {
|
|
divan::main();
|
|
}
|
|
|
|
mod eager {
|
|
#[divan::bench(max_time = std::time::Duration::from_secs(30))]
|
|
fn no_entities_mirage() {
|
|
let raw_bytes = include_bytes!("../testfiles/mirage.dem");
|
|
|
|
let container = csdemo::Container::parse(divan::black_box(raw_bytes.as_slice())).unwrap();
|
|
|
|
let demo = csdemo::parser::parse(
|
|
csdemo::FrameIterator::parse(container.inner),
|
|
csdemo::parser::EntityFilter::disabled(),
|
|
)
|
|
.unwrap();
|
|
|
|
for event in demo.events {
|
|
divan::black_box(event);
|
|
}
|
|
}
|
|
|
|
#[divan::bench(max_time = std::time::Duration::from_secs(30))]
|
|
fn entities_mirage() {
|
|
let raw_bytes = include_bytes!("../testfiles/mirage.dem");
|
|
|
|
let container = csdemo::Container::parse(divan::black_box(raw_bytes.as_slice())).unwrap();
|
|
|
|
let demo = csdemo::parser::parse(
|
|
csdemo::FrameIterator::parse(container.inner),
|
|
csdemo::parser::EntityFilter::all(),
|
|
)
|
|
.unwrap();
|
|
|
|
for event in demo.events {
|
|
divan::black_box(event);
|
|
}
|
|
for entity in demo.entity_states.ticks {
|
|
divan::black_box(entity);
|
|
}
|
|
}
|
|
}
|
|
|
|
mod lazy {
|
|
#[divan::bench(max_time = std::time::Duration::from_secs(30))]
|
|
fn no_entities_mirage() {
|
|
let raw_bytes = include_bytes!("../testfiles/mirage.dem");
|
|
|
|
let container = csdemo::Container::parse(divan::black_box(raw_bytes.as_slice())).unwrap();
|
|
|
|
let demo = csdemo::lazyparser::LazyParser::new(container);
|
|
|
|
for event in demo.events() {
|
|
divan::black_box(event);
|
|
}
|
|
}
|
|
|
|
#[divan::bench(max_time = std::time::Duration::from_secs(30))]
|
|
fn entities_mirage() {
|
|
let raw_bytes = include_bytes!("../testfiles/mirage.dem");
|
|
|
|
let container = csdemo::Container::parse(divan::black_box(raw_bytes.as_slice())).unwrap();
|
|
|
|
let demo = csdemo::lazyparser::LazyParser::new(container);
|
|
|
|
for event in demo.events() {
|
|
divan::black_box(event);
|
|
}
|
|
for entity in demo.entities() {
|
|
divan::black_box(entity);
|
|
}
|
|
}
|
|
}
|