Files
rustytorch/crates/models/rtx-nlg/benches/translation_benchmarks.rs
T
2026-03-04 00:08:42 +00:00

40 lines
1.2 KiB
Rust

//! Benchmarks for translation systems
use criterion::{Criterion, Throughput, black_box, criterion_group, criterion_main};
use rtx_nlg::translation::*;
fn bench_translation_speed(c: &mut Criterion) {
let mut group = c.benchmark_group("translation");
group.throughput(Throughput::Elements(1));
let config = TranslationConfig::new("en", "es")
.beam_size(4)
.max_length(100);
let translator = Translator::new(config).unwrap();
let test_texts = [
"Hello world",
"This is a longer sentence for translation testing",
"Machine translation is an important application of natural language processing that enables automatic translation between different human languages.",
];
for (i, text) in test_texts.iter().enumerate() {
group.bench_with_input(
format!("length_{}", text.split_whitespace().count()),
text,
|b, text| {
b.iter(|| {
let result = translator.translate(black_box(text)).unwrap();
black_box(result);
});
},
);
}
group.finish();
}
criterion_group!(translation_benches, bench_translation_speed);
criterion_main!(translation_benches);