diff --git a/src/bin/bytediff.rs b/src/bin/bytediff.rs index c865f98..0f5dd59 100644 --- a/src/bin/bytediff.rs +++ b/src/bin/bytediff.rs @@ -147,6 +147,8 @@ fn main() -> Result<()> { let mut diff_state = DiffState::Same; let mut region_start: usize = 0; + let mut differing_chunks = 0; + let mut total_chunks = 0; for (i, (rva, rvb)) in ZipLonger::new(Chunks::new(a_bytes, 16), Chunks::new(b_bytes, 16)).enumerate() @@ -196,6 +198,10 @@ fn main() -> Result<()> { } } diff_state = new_diff_state; + if diff_state != DiffState::Same { + differing_chunks += 1; + } + total_chunks += 1; } match diff_state { @@ -214,5 +220,7 @@ fn main() -> Result<()> { } } + println!("{}/{} chunks differ ({:.2}%)", differing_chunks, total_chunks, 100.0 * (differing_chunks as f32) / (total_chunks as f32)); + Ok(()) }