use linebuffer::{typenum, LineBuffer};
use std::convert::TryInto;
use std::time::*;
#[test]
#[ignore]
fn perf_simple() {
const AMOUNT: usize = 8192;
let mut buffer: LineBuffer<(), typenum::U2048> = LineBuffer::new(AMOUNT);
let start = Instant::now();
let max: u32 = 1_000_000_000;
for i in 0..max {
buffer.insert(&i.to_ne_bytes(), ());
}
let nanos = start.elapsed().as_nanos();
assert_eq!(buffer.capacity_bytes(), AMOUNT);
println!("Duration: {} ns for {} entries", nanos, max);
let expected: u32 = max - 1;
assert_eq!(
buffer.get((max - 1) as usize),
Some((&(expected.to_ne_bytes()[..]), &()))
);
}
#[test]
#[ignore]
fn perf_lines() {
const AMOUNT: usize = 1024;
let mut buffer: LineBuffer<(), typenum::U1024> = LineBuffer::new(AMOUNT);
let start = Instant::now();
let max: u32 = 1_000_000_000;
let empty = [0; 0];
for _ in 0..max {
buffer.insert(&empty, ());
}
let nanos = start.elapsed().as_nanos();
assert_eq!(buffer.capacity_bytes(), AMOUNT);
println!("Duration: {} ns for {} entries", nanos, max);
}
#[test]
#[ignore]
fn perf_from_file() {
unimplemented!();
}