Change benchmark

This commit is contained in:
Paul Masurel
2016-08-03 21:39:02 +09:00
3 changed files with 29 additions and 6 deletions
+27 -4
View File
@@ -9,6 +9,7 @@ use tantivy::schema::{Field, Schema};
use tantivy::query::QueryParser;
use tantivy::query::Query;
use std::path::Path;
use tantivy::TimerTree;
use std::io::BufReader;
use std::io::BufRead;
use std::io;
@@ -39,22 +40,22 @@ fn read_query_file(query_path: &String) -> io::Result<Vec<String>> {
.collect())
}
fn run(directory: String,
query_filepath: String,
num_repeat: usize) -> io::Result<()> {
println!("Directory : {:?}", directory);
println!("Query : {:?}", directory);
println!("-------------------------------\n\n\n");
let index = try!(Index::open(Path::new(&directory)));
let searcher = try!(index.searcher());
let default_search_fields: Vec<Field> = extract_search_fields(&index.schema());
println!("Fields {:?}", default_search_fields);
let queries = try!(read_query_file(&query_filepath));
println!("queries {:?}", queries);
let query_parser = QueryParser::new(index.schema(), default_search_fields);
println!("SEARCH\n");
println!("{}\t{}\t{}\t{}", "query", "num_terms", "num hits", "time in microsecs");
for _ in 0..num_repeat {
for query_txt in &queries {
@@ -70,6 +71,28 @@ fn run(directory: String,
println!("{}\t{}\t{}\t{}", query_txt, num_terms, count_collector.count(), timing.total_time());
}
}
println!("\n\nFETCH STORE\n");
println!("{}\t{}", "query", "time in microsecs");
for _ in 0..num_repeat {
for query_txt in &queries {
let query = query_parser.parse_query(&query_txt).unwrap();
let mut top_collector = TopCollector::with_limit(10);
try!(query.search(&searcher, &mut top_collector));
let mut timer = TimerTree::new();
{
let h = timer.open("total");
for doc_address in top_collector.docs() {
searcher.doc(&doc_address).unwrap();
}
}
println!("{}\t{}", query_txt, timer.total_time());
}
}
Ok(())
}
+1 -1
View File
@@ -54,7 +54,7 @@ impl IndexWriter {
let mut segment_writer = SegmentWriter::for_segment(segment.clone(), &schema_clone).unwrap();
segment_writer.add_document(&*doc, &schema_clone).unwrap();
for _ in 0..100_000 {
for _ in 0..200_000 {
{
let queue = queue_output_clone.lock().unwrap();
match queue.recv() {
+1 -1
View File
@@ -9,7 +9,7 @@ use lz4;
use super::StoreReader;
use super::OffsetIndex;
const BLOCK_SIZE: usize = 131_072;
const BLOCK_SIZE: usize = 16_384;
pub struct StoreWriter {
doc: DocId,