diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-09 11:13:07 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-09 14:58:57 -0500 |
commit | 3edb8bd910dc8cfda7cbd372651dfe2a4d4967cb (patch) | |
tree | 643472db86d88f06803f3261693f0c15a76f5505 /examples/process.rs | |
parent | 596730bf19f04a97ef835b27466998b50f26e230 (diff) | |
download | vt100-rust-3edb8bd910dc8cfda7cbd372651dfe2a4d4967cb.tar.gz vt100-rust-3edb8bd910dc8cfda7cbd372651dfe2a4d4967cb.zip |
add more benchmarks
Diffstat (limited to 'examples/process.rs')
-rw-r--r-- | examples/process.rs | 26 |
1 files changed, 26 insertions, 0 deletions
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<Item = Vec<u8>> { + (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<u8>]) { + let mut parser = vt100::Parser::new(24, 80); + for frame in frames { + parser.process(&frame); + } +} + +fn main() { + let frames: Vec<Vec<u8>> = read_frames().collect(); + for _ in 1..100 { + process_frames(&frames); + } +} |