Revert "Improve fuzzy match performance and fix corner case that omits results (#22524)" This reverts commit6ef5d8f748
. Revert "Check cancel in multithreaded fuzzy matching (#22525)" This reverts commit51ac2d3667
. Fuzzy matching implemented in: - https://github.com/zed-industries/zed/pull/22524 - https://github.com/zed-industries/zed/pull/22525 Caused a panic in the extension store search: - Closes: https://github.com/zed-industries/zed/issues/22541 cc: @mgsloan Release Notes: - N/A
This commit is contained in:
parent
38938ece49
commit
642dab82e5
4 changed files with 96 additions and 65 deletions
|
@ -8,6 +8,7 @@ pub mod test;
|
|||
|
||||
use anyhow::{anyhow, Context as _, Result};
|
||||
use futures::Future;
|
||||
|
||||
use itertools::Either;
|
||||
use regex::Regex;
|
||||
use std::sync::{LazyLock, OnceLock};
|
||||
|
@ -110,27 +111,6 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
pub fn truncate_to_bottom_n_sorted_by<T, F>(items: &mut Vec<T>, limit: usize, compare: &F)
|
||||
where
|
||||
F: Fn(&T, &T) -> Ordering,
|
||||
{
|
||||
if limit == 0 {
|
||||
items.truncate(0);
|
||||
}
|
||||
if items.len() < limit {
|
||||
return;
|
||||
}
|
||||
// When limit is near to items.len() it may be more efficient to sort the whole list and
|
||||
// truncate, rather than always doing selection first as is done below. It's hard to analyze
|
||||
// where the threshold for this should be since the quickselect style algorithm used by
|
||||
// `select_nth_unstable_by` makes the prefix partially sorted, and so its work is not wasted -
|
||||
// the expected number of comparisons needed by `sort_by` is less than it is for some arbitrary
|
||||
// unsorted input.
|
||||
items.select_nth_unstable_by(limit, compare);
|
||||
items.truncate(limit);
|
||||
items.sort_by(compare);
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
pub fn load_shell_from_passwd() -> Result<()> {
|
||||
let buflen = match unsafe { libc::sysconf(libc::_SC_GETPW_R_SIZE_MAX) } {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue