1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
require 'rubygems'
require 'benchmark/ips'
require 'active_record'
ActiveRecord::Base.default_timezone = :local
ActiveRecord::Base.time_zone_aware_attributes = true
opts = { database: 'test' }
class TestModel < ActiveRecord::Base
self.table_name = 'mysql2_test'
end
batch_size = 1000
Benchmark.ips do |x|
%w[mysql mysql2].each do |adapter|
TestModel.establish_connection(opts.merge(adapter: adapter))
x.report(adapter) do
TestModel.limit(batch_size).to_a.each do |r|
r.attributes.each_key do |k|
r.send(k.to_sym)
end
end
end
end
x.compare!
end
|