Skip to content

Commit

Permalink
recover data creation in eager loading benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
flyerhzm committed Oct 10, 2010
1 parent 2c63d69 commit 25ac24d
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions perf/eager_loading_benchmark.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
config.master = Mongo::Connection.new.db("mongoid_perf_test", :logger => Logger.new($stdout, :info))
end

#Mongoid.master.collection("people").drop
#Mongoid.master.collection("posts").drop
Mongoid.master.collection("people").drop
Mongoid.master.collection("posts").drop

class Person
include Mongoid::Document
Expand All @@ -24,33 +24,33 @@ class Post
referenced_in :person
end

#10000.times do |n|
#person = Person.create(:name => "Test_#{n}")
#person.posts.create(:title => "Test_#{2*n}")
#person.posts.create(:title => "Test_#{2*n+1}")
#end
10000.times do |n|
person = Person.create(:name => "Test_#{n}")
person.posts.create(:title => "Test_#{2*n}")
person.posts.create(:title => "Test_#{2*n+1}")
end

puts "Starting benchmark..."
Benchmark.bm do |bm|
bm.report("Finding 10 posts with person, without eager loading") do
Post.all.limit(10).each { |p| p.person.name }
Post.limit(10).each { |p| p.person.name }
end

bm.report("Finding 10 posts with person, with eager loading") do
Post.includes(:person).limit(10).each { |p| p.person.name }
Post.limit(10).includes(:person).each { |p| p.person.name }
end
bm.report("Finding 50 posts with person, without eager loading") do
Post.all.limit(50).each { |p| p.person.name }
Post.limit(50).each { |p| p.person.name }
end

bm.report("Finding 50 posts with person, with eager loading") do
Post.includes(:person).limit(50).each { |p| p.person.name }
Post.limit(50).includes(:person).each { |p| p.person.name }
end
bm.report("Finding 100 posts with person, without eager loading") do
Post.all.limit(100).each { |p| p.person.name }
Post.limit(100).each { |p| p.person.name }
end

bm.report("Finding 100 posts with person, with eager loading") do
Post.includes(:person).limit(100).each { |p| p.person.name }
Post.limit(100).includes(:person).each { |p| p.person.name }
end
end

0 comments on commit 25ac24d

Please sign in to comment.