0
0
Fork 0

added a small benchmark

This commit is contained in:
Gibheer 2011-06-08 08:15:25 +02:00
parent 0cb40b86f2
commit e14c7ee9ac
2 changed files with 36 additions and 0 deletions

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
# ignore test directories
spec/index_dir/*
benchmark/index_dir/*
tmp
# rcov generated

35
benchmark/search_bench.rb Normal file
View File

@ -0,0 +1,35 @@
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'rubygems'
require 'benchmark'
require 'virtus'
require 'polecat'
class Document
include Virtus
attribute :name, Integer
attribute :text, String
end
begin
FileUtils.rm_r 'benchmark/index_dir'
rescue
end
Dir.mkdir 'benchmark/index_dir'
writer = Polecat::IndexWriter.new 'benchmark/index_dir'
(1..50000).each do |i|
writer.add(Document.new(:name => i, :text => "Lorem #{i} Ipsum"))
end
writer.write
searcher = Polecat::IndexSearcher.new :reader => writer.create_reader
query = Polecat::Query.new.add(Polecat::Term.new(:name, :lt, 25000))
puts Benchmark.bm { |x|
x.report('search') {
for i in 1..5000 do
searcher.search query
end
}
}