Squashed 'vendor/ruvector/' content from commit b64c2172
git-subtree-dir: vendor/ruvector git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
This commit is contained in:
36
crates/agentic-robotics-core/benches/message_passing.rs
Normal file
36
crates/agentic-robotics-core/benches/message_passing.rs
Normal file
@@ -0,0 +1,36 @@
|
||||
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
||||
use ros3_core::{Publisher, RobotState};
|
||||
|
||||
fn benchmark_publish(c: &mut Criterion) {
|
||||
let rt = tokio::runtime::Runtime::new().unwrap();
|
||||
|
||||
c.bench_function("ros3_publish", |b| {
|
||||
let publisher = Publisher::<RobotState>::new("benchmark/topic");
|
||||
let msg = RobotState::default();
|
||||
|
||||
b.to_async(&rt).iter(|| async {
|
||||
black_box(publisher.publish(&msg).await).unwrap();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
fn benchmark_serialization(c: &mut Criterion) {
|
||||
use ros3_core::serialization::{serialize_cdr, serialize_rkyv};
|
||||
|
||||
let msg = RobotState::default();
|
||||
|
||||
c.bench_function("cdr_serialize", |b| {
|
||||
b.iter(|| {
|
||||
black_box(serialize_cdr(&msg)).unwrap();
|
||||
});
|
||||
});
|
||||
|
||||
c.bench_function("rkyv_serialize", |b| {
|
||||
b.iter(|| {
|
||||
black_box(serialize_rkyv(&msg)).unwrap();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
criterion_group!(benches, benchmark_publish, benchmark_serialization);
|
||||
criterion_main!(benches);
|
||||
Reference in New Issue
Block a user