From 3edb8bd910dc8cfda7cbd372651dfe2a4d4967cb Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 9 Nov 2019 11:13:07 -0500 Subject: add more benchmarks --- examples/perf.rs | 32 -------------------------------- examples/process.rs | 26 ++++++++++++++++++++++++++ examples/process_diff.rs | 32 ++++++++++++++++++++++++++++++++ examples/process_full.rs | 29 +++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 32 deletions(-) delete mode 100644 examples/perf.rs create mode 100644 examples/process.rs create mode 100644 examples/process_diff.rs create mode 100644 examples/process_full.rs (limited to 'examples') diff --git a/examples/perf.rs b/examples/perf.rs deleted file mode 100644 index 4222c6e..0000000 --- a/examples/perf.rs +++ /dev/null @@ -1,32 +0,0 @@ -use std::io::{Read as _, Write as _}; - -fn read_frames() -> impl Iterator> { - (1..=7625).map(|i| { - let mut file = - std::fs::File::open(format!("tests/data/crawl/crawl{}", i)) - .unwrap(); - let mut frame = vec![]; - file.read_to_end(&mut frame).unwrap(); - frame - }) -} - -fn draw_frames(frames: &[Vec]) { - let mut stdout = std::io::stdout(); - let mut parser = vt100::Parser::new(24, 80); - let mut screen = parser.screen().clone(); - for frame in frames { - parser.process(&frame); - let new_screen = parser.screen().clone(); - let diff = new_screen.contents_diff(&screen); - stdout.write_all(&diff).unwrap(); - screen = new_screen; - } -} - -fn main() { - let frames: Vec> = read_frames().collect(); - for _ in 1..10 { - draw_frames(&frames); - } -} diff --git a/examples/process.rs b/examples/process.rs new file mode 100644 index 0000000..98236f7 --- /dev/null +++ b/examples/process.rs @@ -0,0 +1,26 @@ +use std::io::Read as _; + +fn read_frames() -> impl Iterator> { + (1..=7625).map(|i| { + let mut file = + std::fs::File::open(format!("tests/data/crawl/crawl{}", i)) + .unwrap(); + let mut frame = vec![]; + file.read_to_end(&mut frame).unwrap(); + frame + }) +} + +fn process_frames(frames: &[Vec]) { + let mut parser = vt100::Parser::new(24, 80); + for frame in frames { + parser.process(&frame); + } +} + +fn main() { + let frames: Vec> = read_frames().collect(); + for _ in 1..100 { + process_frames(&frames); + } +} diff --git a/examples/process_diff.rs b/examples/process_diff.rs new file mode 100644 index 0000000..4222c6e --- /dev/null +++ b/examples/process_diff.rs @@ -0,0 +1,32 @@ +use std::io::{Read as _, Write as _}; + +fn read_frames() -> impl Iterator> { + (1..=7625).map(|i| { + let mut file = + std::fs::File::open(format!("tests/data/crawl/crawl{}", i)) + .unwrap(); + let mut frame = vec![]; + file.read_to_end(&mut frame).unwrap(); + frame + }) +} + +fn draw_frames(frames: &[Vec]) { + let mut stdout = std::io::stdout(); + let mut parser = vt100::Parser::new(24, 80); + let mut screen = parser.screen().clone(); + for frame in frames { + parser.process(&frame); + let new_screen = parser.screen().clone(); + let diff = new_screen.contents_diff(&screen); + stdout.write_all(&diff).unwrap(); + screen = new_screen; + } +} + +fn main() { + let frames: Vec> = read_frames().collect(); + for _ in 1..10 { + draw_frames(&frames); + } +} diff --git a/examples/process_full.rs b/examples/process_full.rs new file mode 100644 index 0000000..c62bcb2 --- /dev/null +++ b/examples/process_full.rs @@ -0,0 +1,29 @@ +use std::io::{Read as _, Write as _}; + +fn read_frames() -> impl Iterator> { + (1..=7625).map(|i| { + let mut file = + std::fs::File::open(format!("tests/data/crawl/crawl{}", i)) + .unwrap(); + let mut frame = vec![]; + file.read_to_end(&mut frame).unwrap(); + frame + }) +} + +fn draw_frames(frames: &[Vec]) { + let mut stdout = std::io::stdout(); + let mut parser = vt100::Parser::new(24, 80); + for frame in frames { + parser.process(&frame); + let contents = parser.screen().contents_formatted(); + stdout.write_all(&contents).unwrap(); + } +} + +fn main() { + let frames: Vec> = read_frames().collect(); + for _ in 1..10 { + draw_frames(&frames); + } +} -- cgit v1.2.3-54-g00ecf