diff --git a/milli/benches/songs.rs b/milli/benches/songs.rs index f6e36262d..0c056d93f 100644 --- a/milli/benches/songs.rs +++ b/milli/benches/songs.rs @@ -35,15 +35,15 @@ fn base_conf(builder: &mut Settings) { const BASE_CONF: Conf = Conf { dataset: "smol-songs.csv", queries: &[ - "john ", // 9097 - "david ", // 4794 - "charles ", // 1957 - "david bowie ", // 1200 - "michael jackson ", // 600 - "thelonious monk ", // 303 - "charles mingus ", // 142 - "marcus miller ", // 60 - "tamo ", // 13 + "john ", // 9097 + "david ", // 4794 + "charles ", // 1957 + "david bowie ", // 1200 + "michael jackson ", // 600 + "thelonious monk ", // 303 + "charles mingus ", // 142 + "marcus miller ", // 60 + "tamo ", // 13 "Notstandskomitee ", // 4 ], configure: base_conf, @@ -69,10 +69,15 @@ fn bench_songs(c: &mut criterion::Criterion) { .map(|s| { s.trim() .split(' ') - .map(|s| format!(r#""{}""#, s)).collect::>().join(" ") + .map(|s| format!(r#""{}""#, s)) + .collect::>() + .join(" ") }) .collect(); - let basic_with_quote: &[&str] = &basic_with_quote.iter().map(|s| s.as_str()).collect::>(); + let basic_with_quote: &[&str] = &basic_with_quote + .iter() + .map(|s| s.as_str()) + .collect::>(); let confs = &[ /* first we bench each criterion alone */ @@ -113,10 +118,10 @@ fn bench_songs(c: &mut criterion::Criterion) { group_name: "words", queries: &[ "the black saint and the sinner lady and the good doggo ", // four words to pop - "les liaisons dangeureuses 1793 ", // one word to pop - "The Disneyland Children's Sing-Alone song ", // two words to pop - "seven nation mummy ", // one word to pop - "7000 Danses / Le Baiser / je me trompe de mots ", // four words to pop + "les liaisons dangeureuses 1793 ", // one word to pop + "The Disneyland Children's Sing-Alone song ", // two words to pop + "seven nation mummy ", // one word to pop + "7000 Danses / Le Baiser / je me trompe de mots ", // four words to pop "Bring Your Daughter To The Slaughter but now this is not part of the title ", // nine words to pop "whathavenotnsuchforth and a good amount of words to pop to match the first one ", // 13 ], @@ -133,7 +138,6 @@ fn bench_songs(c: &mut criterion::Criterion) { criterion: Some(&["desc(released-timestamp)"]), ..BASE_CONF }, - /* then we bench the asc and desc criterion on top of the default criterion */ utils::Conf { group_name: "asc + default", @@ -145,14 +149,11 @@ fn bench_songs(c: &mut criterion::Criterion) { criterion: Some(&desc_default[..]), ..BASE_CONF }, - /* the we bench some global / normal search with all the default criterion in the default * order */ utils::Conf { group_name: "basic placeholder", - queries: &[ - "", - ], + queries: &[""], ..BASE_CONF }, utils::Conf { @@ -173,14 +174,11 @@ fn bench_songs(c: &mut criterion::Criterion) { group_name: "prefix search", queries: &[ "s", // 500k+ results - "a", - "b", - "i", - "x", // only 7k results + "a", "b", "i", "x", // only 7k results ], ..BASE_CONF }, - ]; + ]; utils::run_benches(c, confs); } diff --git a/milli/benches/utils.rs b/milli/benches/utils.rs index b101adb63..4c8fb347d 100644 --- a/milli/benches/utils.rs +++ b/milli/benches/utils.rs @@ -1,8 +1,14 @@ -use std::{fs::{File, create_dir_all, remove_dir_all}, time::Duration}; +use std::{ + fs::{create_dir_all, remove_dir_all, File}, + time::Duration, +}; -use heed::EnvOpenOptions; use criterion::BenchmarkId; -use milli::{FacetCondition, Index, update::{IndexDocumentsMethod, Settings, UpdateBuilder, UpdateFormat}}; +use heed::EnvOpenOptions; +use milli::{ + update::{IndexDocumentsMethod, Settings, UpdateBuilder, UpdateFormat}, + FacetCondition, Index, +}; pub struct Conf<'a> { /// where we are going to create our database.mmdb directory @@ -11,7 +17,7 @@ pub struct Conf<'a> { /// the dataset to be used, it must be an uncompressed csv pub dataset: &'a str, pub group_name: &'a str, - pub queries: &'a[&'a str], + pub queries: &'a [&'a str], /// here you can change which criterion are used and in which order. /// - if you specify something all the base configuration will be thrown out /// - if you don't specify anything (None) the default configuration will be kept @@ -36,7 +42,6 @@ impl Conf<'_> { facet_condition: None, optional_words: true, }; - } pub fn base_setup(conf: &Conf) -> Index { @@ -77,7 +82,8 @@ pub fn base_setup(conf: &Conf) -> Index { builder.index_documents_method(IndexDocumentsMethod::ReplaceDocuments); // we called from cargo the current directory is supposed to be milli/milli let dataset_path = format!("benches/{}", conf.dataset); - let reader = File::open(&dataset_path).expect(&format!("could not find the dataset in: {}", &dataset_path)); + let reader = File::open(&dataset_path) + .expect(&format!("could not find the dataset in: {}", &dataset_path)); builder.execute(reader, |_, _| ()).unwrap(); wtxn.commit().unwrap(); diff --git a/milli/benches/wiki.rs b/milli/benches/wiki.rs index fc8af02e5..d876814a9 100644 --- a/milli/benches/wiki.rs +++ b/milli/benches/wiki.rs @@ -38,10 +38,15 @@ fn bench_songs(c: &mut criterion::Criterion) { .map(|s| { s.trim() .split(' ') - .map(|s| format!(r#""{}""#, s)).collect::>().join(" ") + .map(|s| format!(r#""{}""#, s)) + .collect::>() + .join(" ") }) .collect(); - let basic_with_quote: &[&str] = &basic_with_quote.iter().map(|s| s.as_str()).collect::>(); + let basic_with_quote: &[&str] = &basic_with_quote + .iter() + .map(|s| s.as_str()) + .collect::>(); let confs = &[ /* first we bench each criterion alone */