comparison rust/hg-core/examples/nodemap/main.rs @ 46427:6380efb82191

rust: replace Node::encode_hex with std::fmt::LowerHex This avoids allocating intermediate strings. Differential Revision: https://phab.mercurial-scm.org/D9860
author Simon Sapin <simon.sapin@octobus.net>
date Mon, 25 Jan 2021 12:00:23 +0100
parents 8f7c6656ac79
children 18a261b11b20
comparison
equal deleted inserted replaced
46426:0da465780bba 46427:6380efb82191
64 .clone() 64 .clone()
65 }) 65 })
66 .collect(); 66 .collect();
67 if queries < 10 { 67 if queries < 10 {
68 let nodes_hex: Vec<String> = 68 let nodes_hex: Vec<String> =
69 nodes.iter().map(|n| n.encode_hex()).collect(); 69 nodes.iter().map(|n| format!("{:x}", n)).collect();
70 println!("Nodes: {:?}", nodes_hex); 70 println!("Nodes: {:?}", nodes_hex);
71 } 71 }
72 let mut last: Option<Revision> = None; 72 let mut last: Option<Revision> = None;
73 let start = Instant::now(); 73 let start = Instant::now();
74 for node in nodes.iter() { 74 for node in nodes.iter() {
75 last = nm.find_bin(index, node.into()).unwrap(); 75 last = nm.find_bin(index, node.into()).unwrap();
76 } 76 }
77 let elapsed = start.elapsed(); 77 let elapsed = start.elapsed();
78 println!( 78 println!(
79 "Did {} queries in {:?} (mean {:?}), last was {:?} with result {:?}", 79 "Did {} queries in {:?} (mean {:?}), last was {:x} with result {:?}",
80 queries, 80 queries,
81 elapsed, 81 elapsed,
82 elapsed / (queries as u32), 82 elapsed / (queries as u32),
83 nodes.last().unwrap().encode_hex(), 83 nodes.last().unwrap(),
84 last 84 last
85 ); 85 );
86 } 86 }
87 87
88 fn main() { 88 fn main() {