mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 09:45:31 +00:00
22 lines
784 B
Rust
22 lines
784 B
Rust
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
|
use std::time::Duration;
|
|
|
|
use aquatic_http_protocol::request::Request;
|
|
|
|
static INPUT: &[u8] = b"GET /announce?info_hash=%04%0bkV%3f%5cr%14%a6%b7%98%adC%c3%c9.%40%24%00%b9&peer_id=-TR2940-5ert69muw5t8&port=11000&uploaded=0&downloaded=0&left=0&numwant=0&key=3ab4b977&compact=1&supportcrypto=1&event=stopped HTTP/1.1\r\n\r\n";
|
|
|
|
pub fn bench(c: &mut Criterion) {
|
|
c.bench_function("request-from-bytes", |b| {
|
|
b.iter(|| Request::parse_bytes(black_box(INPUT)))
|
|
});
|
|
}
|
|
|
|
criterion_group! {
|
|
name = benches;
|
|
config = Criterion::default()
|
|
.sample_size(1000)
|
|
.measurement_time(Duration::from_secs(180))
|
|
.significance_level(0.01);
|
|
targets = bench
|
|
}
|
|
criterion_main!(benches);
|