#![feature(test)] extern crate peel_ip; extern crate test; use test::Bencher; use peel_ip::prelude::*; static PACKET: &'static [u8] = &[0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x25, 0xcc, 0x13, 0x2b, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x52, 0x80, 0x0c, 0x2b, 0x59, 0x00, 0x64, 0x66, 0x84, 0xf4, 0x4c, 0xa4, 0xee, 0xce, 0x12, 0xb8]; #[bench] fn ntp_small_packet(bencher: &mut Bencher) { let mut parser = NtpParser; bencher.iter(|| { parser.parse(PACKET, None, None).unwrap(); }); bencher.bytes = PACKET.len() as u64; } #[bench] fn ntp_big_packet(bencher: &mut Bencher) { let mut parser = NtpParser; let mut input = Vec::from(PACKET); input.extend_from_slice(&[0xff; 1450]); bencher.iter(|| { parser.parse(&input, None, None).unwrap(); }); bencher.bytes = input.len() as u64; }