fn main() { let p = std::env::args().nth(1).unwrap(); let t = std::time::Instant::now(); let m = jet::images::scan_file(std::path::Path::new(&p), None, |_, _| Ok(())).unwrap(); let zeros: u64 = m.chunks.iter().filter(|c| c.is_zeros()).map(|c| c.1 as u64).sum(); let need = m.needed(); let need_bytes: u64 = need.iter().map(|h| m.chunks.iter().find(|c| c.hash() == *h).unwrap().1 as u64).sum(); let json = serde_json::to_vec(&m).unwrap(); println!( "hash {}… size {} MiB, {} chunks, zeros {} MiB, distinct non-zero {} ({} MiB), manifest {} KiB, {:.1} s", &m.hash[..12], m.size >> 20, m.chunks.len(), zeros >> 20, need.len(), need_bytes >> 20, json.len() >> 10, t.elapsed().as_secs_f64() ); }