mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #11336 from ankit8898/performance-bm
Some performance benchmarking for take vs limit
This commit is contained in:
commit
8f25e08dda
1 changed files with 13 additions and 1 deletions
|
@ -43,6 +43,8 @@ class Exhibit < ActiveRecord::Base
|
|||
def self.feel(exhibits) exhibits.each { |e| e.feel } end
|
||||
end
|
||||
|
||||
def progress_bar(int); print "." if (int%100).zero? ; end
|
||||
|
||||
puts 'Generating data...'
|
||||
|
||||
module ActiveRecord
|
||||
|
@ -75,7 +77,7 @@ notes = ActiveRecord::Faker::LOREM.join ' '
|
|||
today = Date.today
|
||||
|
||||
puts "Inserting #{RECORDS} users and exhibits..."
|
||||
RECORDS.times do
|
||||
RECORDS.times do |record|
|
||||
user = User.create(
|
||||
created_at: today,
|
||||
name: ActiveRecord::Faker.name,
|
||||
|
@ -88,7 +90,9 @@ RECORDS.times do
|
|||
user: user,
|
||||
notes: notes
|
||||
)
|
||||
progress_bar(record)
|
||||
end
|
||||
puts "Done!\n"
|
||||
|
||||
Benchmark.ips(TIME) do |x|
|
||||
ar_obj = Exhibit.find(1)
|
||||
|
@ -117,10 +121,18 @@ Benchmark.ips(TIME) do |x|
|
|||
Exhibit.first.look
|
||||
end
|
||||
|
||||
x.report 'Model.take' do
|
||||
Exhibit.take
|
||||
end
|
||||
|
||||
x.report("Model.all limit(100)") do
|
||||
Exhibit.look Exhibit.limit(100)
|
||||
end
|
||||
|
||||
x.report("Model.all take(100)") do
|
||||
Exhibit.look Exhibit.take(100)
|
||||
end
|
||||
|
||||
x.report "Model.all limit(100) with relationship" do
|
||||
Exhibit.feel Exhibit.limit(100).includes(:user)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue