mirror of
https://github.com/fafhrd91/actix-net
synced 2025-08-31 19:46:59 +02:00
add lines codec (#338)
This commit is contained in:
57
actix-codec/benches/lines.rs
Normal file
57
actix-codec/benches/lines.rs
Normal file
@@ -0,0 +1,57 @@
|
||||
use bytes::BytesMut;
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
|
||||
const INPUT: &[u8] = include_bytes!("./lorem.txt");
|
||||
|
||||
fn bench_lines_codec(c: &mut Criterion) {
|
||||
let mut decode_group = c.benchmark_group("lines decode");
|
||||
|
||||
decode_group.bench_function("actix", |b| {
|
||||
b.iter(|| {
|
||||
use actix_codec::Decoder as _;
|
||||
|
||||
let mut codec = actix_codec::LinesCodec::default();
|
||||
let mut buf = BytesMut::from(INPUT);
|
||||
while let Ok(Some(_bytes)) = codec.decode_eof(&mut buf) {}
|
||||
});
|
||||
});
|
||||
|
||||
decode_group.bench_function("tokio", |b| {
|
||||
b.iter(|| {
|
||||
use tokio_util::codec::Decoder as _;
|
||||
|
||||
let mut codec = tokio_util::codec::LinesCodec::new();
|
||||
let mut buf = BytesMut::from(INPUT);
|
||||
while let Ok(Some(_bytes)) = codec.decode_eof(&mut buf) {}
|
||||
});
|
||||
});
|
||||
|
||||
decode_group.finish();
|
||||
|
||||
let mut encode_group = c.benchmark_group("lines encode");
|
||||
|
||||
encode_group.bench_function("actix", |b| {
|
||||
b.iter(|| {
|
||||
use actix_codec::Encoder as _;
|
||||
|
||||
let mut codec = actix_codec::LinesCodec::default();
|
||||
let mut buf = BytesMut::new();
|
||||
codec.encode("123", &mut buf).unwrap();
|
||||
});
|
||||
});
|
||||
|
||||
encode_group.bench_function("tokio", |b| {
|
||||
b.iter(|| {
|
||||
use tokio_util::codec::Encoder as _;
|
||||
|
||||
let mut codec = tokio_util::codec::LinesCodec::new();
|
||||
let mut buf = BytesMut::new();
|
||||
codec.encode("123", &mut buf).unwrap();
|
||||
});
|
||||
});
|
||||
|
||||
encode_group.finish();
|
||||
}
|
||||
|
||||
criterion_group!(benches, bench_lines_codec);
|
||||
criterion_main!(benches);
|
Reference in New Issue
Block a user