linebuffer 0.1.2

ringbuffer for dynamic sized u8-elements
Documentation
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 bytes: u128 = (max * 4) as u128;
    // let ms = nanos / 1_000_000;
    // println!("{} Byte in, {} B/ms",bytes, (bytes / ms) );

    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!();
}