Mercurial > public > mercurial-scm > hg
diff rust/rhg/src/commands/status.rs @ 48495:e293ff808a05
rhg: Use binary search in manifest lookup
? instead of linear scan, when looking for a single entry based on its path.
Manifest entries are sorted by path, but are variable-size so we can?t use
the standard library?s `[T]::binary_search`. We can still jump to a byte
index and then look around for entry boundaries.
Differential Revision: https://phab.mercurial-scm.org/D11932
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Thu, 16 Dec 2021 17:34:51 +0100 |
parents | b005d07ded7d |
children | 4afb9627dc77 |
line wrap: on
line diff
--- a/rust/rhg/src/commands/status.rs Fri Dec 17 11:46:30 2021 +0100 +++ b/rust/rhg/src/commands/status.rs Thu Dec 16 17:34:51 2021 +0100 @@ -473,7 +473,7 @@ }; let entry = manifest - .find_file(hg_path)? + .find_by_path(hg_path)? .expect("ambgious file not in p1"); if entry.flags != fs_flags { return Ok(true);