Sha256: 71b37ec689bb43b7fab4d29f33b08de1595431d1ac61c4ac98fdcd70dfa89f6b

Contents?: true

Size: 968 Bytes

Versions: 48

Compression:

Stored size: 968 Bytes

Contents

# encoding: UTF-8
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')

require 'rubygems'
require 'benchmark'
require 'active_record'

mysql2_opts = {
  :adapter => 'mysql2',
  :database => 'test',
  :pool => 25
}
ActiveRecord::Base.establish_connection(mysql2_opts)
x = Benchmark.realtime do
  threads = []
  25.times do
    threads << Thread.new { ActiveRecord::Base.connection.execute("select sleep(1)") }
  end
  threads.each {|t| t.join }
end
puts x

mysql2_opts = {
  :adapter => 'mysql',
  :database => 'test',
  :pool => 25
}
ActiveRecord::Base.establish_connection(mysql2_opts)
x = Benchmark.realtime do
  threads = []
  25.times do
    threads << Thread.new { ActiveRecord::Base.connection.execute("select sleep(1)") }
  end
  threads.each {|t| t.join }
end
puts x

# these results are similar on 1.8.7, 1.9.2 and rbx-head
#
# $ bundle exec ruby benchmarks/threaded.rb
# 1.0774750709533691
#
# and using the mysql gem
# 25.099437952041626

Version data entries

48 entries across 48 versions & 5 rubygems

Version Path
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/benchmark/threaded.rb
mysql2-0.2.19b4 benchmark/threaded.rb
mysql2-0.3.12b4 benchmark/threaded.rb
mysql2-0.2.19b3 benchmark/threaded.rb
mysql2-0.3.12b3 benchmark/threaded.rb
mysql2-0.3.12b2 benchmark/threaded.rb
mysql2-0.2.19b2 benchmark/threaded.rb
mysql2-0.3.12b1 benchmark/threaded.rb
mysql2-0.2.19b1 benchmark/threaded.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/benchmark/threaded.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/benchmark/threaded.rb
sunrise-cms-0.3.1 vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/benchmark/threaded.rb
sunrise-cms-0.3.0 vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/benchmark/threaded.rb
sunrise-cms-0.3.0.rc vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/benchmark/threaded.rb
mysql2-sp-0.3.10 benchmark/threaded.rb
solaris-mysql2-0.3.11 benchmark/threaded.rb
mysql2-0.3.11-x86-mswin32-60 benchmark/threaded.rb
mysql2-0.3.11-x86-mingw32 benchmark/threaded.rb
mysql2-0.3.11 benchmark/threaded.rb
mysql2-0.2.18-x86-mswin32-60 benchmark/threaded.rb