mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-07-28 01:01:00 +00:00
test: Add a raptor-search bench
This commit is contained in:
committed by
Clément Renault
parent
879e28fb7d
commit
8fab80048c
31
raptor-search/benches/main.rs
Normal file
31
raptor-search/benches/main.rs
Normal file
@ -0,0 +1,31 @@
|
||||
#![feature(test)]
|
||||
|
||||
extern crate test;
|
||||
extern crate fst;
|
||||
extern crate raptor;
|
||||
|
||||
use std::path::Path;
|
||||
use std::{fs, env, io};
|
||||
use fst::Streamer;
|
||||
use raptor::{load_map, DocIndexMap, RankedStream, LevBuilder};
|
||||
|
||||
#[bench]
|
||||
fn chauve_souris(b: &mut test::Bencher) {
|
||||
let lev_builder = LevBuilder::new();
|
||||
let map = load_map("map.fst", "values.vecs").unwrap();
|
||||
|
||||
let query = "chauve souris";
|
||||
|
||||
b.iter(|| {
|
||||
let mut automatons = Vec::new();
|
||||
for query in query.split_whitespace() {
|
||||
let lev = lev_builder.build_automaton(query);
|
||||
automatons.push(lev);
|
||||
}
|
||||
|
||||
let mut stream = RankedStream::new(&map, &map.values(), automatons);
|
||||
while let Some(document_id) = stream.next() {
|
||||
test::black_box(document_id);
|
||||
}
|
||||
})
|
||||
}
|
@ -2,19 +2,16 @@ extern crate env_logger;
|
||||
extern crate fst;
|
||||
extern crate raptor;
|
||||
|
||||
use std::{fs, env};
|
||||
use std::path::Path;
|
||||
use std::{fs, env, io};
|
||||
use fst::Streamer;
|
||||
use raptor::{DocIndexMap, RankedStream, LevBuilder};
|
||||
use raptor::{load_map, DocIndexMap, RankedStream, LevBuilder};
|
||||
|
||||
fn main() {
|
||||
drop(env_logger::init());
|
||||
|
||||
let lev_builder = LevBuilder::new();
|
||||
let map = {
|
||||
let fst = fs::read("map.fst").unwrap();
|
||||
let values = fs::read("values.vecs").unwrap();
|
||||
DocIndexMap::from_bytes(fst, &values).unwrap()
|
||||
};
|
||||
let map = load_map("map.fst", "values.vecs").unwrap();
|
||||
|
||||
let query = env::args().nth(1).expect("Please enter query words!");
|
||||
let query = query.to_lowercase();
|
||||
|
Reference in New Issue
Block a user