66 lines
1.4 KiB
Rust
66 lines
1.4 KiB
Rust
#![feature(test)]
|
|
|
|
extern crate test;
|
|
use leb128;
|
|
|
|
#[bench]
|
|
fn write_signed(b: &mut test::Bencher) {
|
|
let mut buf = [0; 4096];
|
|
|
|
b.iter(|| {
|
|
let mut writable = &mut buf[..];
|
|
for i in -1025..1025 {
|
|
test::black_box(leb128::write::signed(&mut writable, i).unwrap());
|
|
}
|
|
});
|
|
}
|
|
|
|
#[bench]
|
|
fn write_unsigned(b: &mut test::Bencher) {
|
|
let mut buf = [0; 4096];
|
|
|
|
b.iter(|| {
|
|
let mut writable = &mut buf[..];
|
|
for i in 0..2050 {
|
|
test::black_box(leb128::write::unsigned(&mut writable, i).unwrap());
|
|
}
|
|
});
|
|
}
|
|
|
|
#[bench]
|
|
fn read_signed(b: &mut test::Bencher) {
|
|
let mut buf = [0; 4096];
|
|
|
|
{
|
|
let mut writable = &mut buf[..];
|
|
for i in -1025..1025 {
|
|
leb128::write::signed(&mut writable, i).unwrap();
|
|
}
|
|
}
|
|
|
|
b.iter(|| {
|
|
let mut readable = &buf[..];
|
|
for _ in -1025..1025 {
|
|
test::black_box(leb128::read::signed(&mut readable).unwrap());
|
|
}
|
|
});
|
|
}
|
|
|
|
#[bench]
|
|
fn read_unsigned(b: &mut test::Bencher) {
|
|
let mut buf = [0; 4096];
|
|
|
|
{
|
|
let mut writable = &mut buf[..];
|
|
for i in 0..2050 {
|
|
leb128::write::unsigned(&mut writable, i).unwrap();
|
|
}
|
|
}
|
|
|
|
b.iter(|| {
|
|
let mut readable = &buf[..];
|
|
for _ in 0..2050 {
|
|
test::black_box(leb128::read::unsigned(&mut readable).unwrap());
|
|
}
|
|
});
|
|
}
|