require 'xampl_generated_code/RandomPeople' require 'people' require 'settings' module RandomPeople # # #
# # times = [0, 0] counts = [0, 0] 10.times do | trial | found1 = [] found2 = [] found3 = [] # # all_people = nil people_inspected = 0 start_at = Time.now people = Xampl.transaction("random-people") do addresses = Address.find_by_query do | q | q.add_condition('street-address', :equals, '4194 Borough Drive') q.add_condition('postal-code', :equals, 'M1P 4W2') end all_people = Set.new people_inspected = 0 addresses.each do | address | people = Person.find_by_query do | q | # TODO -- want to be able to find people by the address directly, e.g. address.find_by_citation/find_by_mention & find_by_reference q.add_condition('city', :equals, address.city) q.add_condition('state', :equals, address.state) end people_inspected += people.size people.each do | person | all_people << person if person.address.first == address end end end done_at = Time.now puts "done in: #{ done_at - start_at }, #{ people_inspected } people inspected, #{ all_people.size } identified" times[0] += (done_at - start_at) if 0 < trial counts[0] += 1 if 0 < trial start_at = Time.now people = Xampl.transaction("random-people") do addresses = Address.find_by_query do | q | q.add_condition('street-address', :equals, '4194 Borough Drive') q.add_condition('postal-code', :equals, 'M1P 4W2') end all_people = Set.new people_inspected = 0 addresses.each do | address | people = Xampl.find_mentions_of(address) people_inspected += people.size all_people.merge(people) end end done_at = Time.now puts "done in: #{ done_at - start_at }, #{ people_inspected } people inspected, #{ all_people.size } identified" times[1] += (done_at - start_at) if 0 < trial counts[1] += 1 if 0 < trial end puts "0) total time: #{ times[0] }, count: #{ counts[0] }, average/s: #{ counts[0]/times[0]}" puts "1) total time: #{ times[1] }, count: #{ counts[1] }, average/s: #{ counts[1]/times[1]}" end