diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-09 11:33:55 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-09 14:58:57 -0500 |
commit | ff829993431c3a710169271c7ec691bc62030bc3 (patch) | |
tree | 820433cf2427cddd95170eba8137915f81185b6d | |
parent | 61380c18cb66cb4e6be20fdd6fa56816cc05cc59 (diff) | |
download | vt100-rust-ff829993431c3a710169271c7ec691bc62030bc3.tar.gz vt100-rust-ff829993431c3a710169271c7ec691bc62030bc3.zip |
improve benchmarks a bit more
-rwxr-xr-x | bin/perf | 2 | ||||
-rw-r--r-- | examples/process.rs | 9 | ||||
-rw-r--r-- | examples/process_diff.rs | 9 | ||||
-rw-r--r-- | examples/process_full.rs | 9 |
4 files changed, 25 insertions, 4 deletions
@@ -10,7 +10,7 @@ debug = true EOF fi cargo build --release --example "$1" -perf record -F99 --call-graph dwarf,16384 target/release/examples/"$1" --ignored > /dev/null +time perf record -F99 --call-graph dwarf,16384 target/release/examples/"$1" --ignored > /dev/null perf script > perf.script perl ~/coding/src/FlameGraph/stackcollapse-perf.pl perf.script > perf.collapsed perl ~/coding/src/FlameGraph/flamegraph.pl perf.collapsed > perf.svg diff --git a/examples/process.rs b/examples/process.rs index 98236f7..ea36db1 100644 --- a/examples/process.rs +++ b/examples/process.rs @@ -20,7 +20,14 @@ fn process_frames(frames: &[Vec<u8>]) { fn main() { let frames: Vec<Vec<u8>> = read_frames().collect(); - for _ in 1..100 { + let start = std::time::Instant::now(); + let mut i = 0; + loop { + i += 1; process_frames(&frames); + if (std::time::Instant::now() - start).as_secs() >= 30 { + break; + } } + eprintln!("{} iterations", i); } diff --git a/examples/process_diff.rs b/examples/process_diff.rs index 4222c6e..6132971 100644 --- a/examples/process_diff.rs +++ b/examples/process_diff.rs @@ -26,7 +26,14 @@ fn draw_frames(frames: &[Vec<u8>]) { fn main() { let frames: Vec<Vec<u8>> = read_frames().collect(); - for _ in 1..10 { + let start = std::time::Instant::now(); + let mut i = 0; + loop { + i += 1; draw_frames(&frames); + if (std::time::Instant::now() - start).as_secs() >= 30 { + break; + } } + eprintln!("{} iterations", i); } diff --git a/examples/process_full.rs b/examples/process_full.rs index c62bcb2..a49af29 100644 --- a/examples/process_full.rs +++ b/examples/process_full.rs @@ -23,7 +23,14 @@ fn draw_frames(frames: &[Vec<u8>]) { fn main() { let frames: Vec<Vec<u8>> = read_frames().collect(); - for _ in 1..10 { + let start = std::time::Instant::now(); + let mut i = 0; + loop { + i += 1; draw_frames(&frames); + if (std::time::Instant::now() - start).as_secs() >= 30 { + break; + } } + eprintln!("{} iterations", i); } |