forked from brianmario/mysql2
-
Notifications
You must be signed in to change notification settings - Fork 1
/
sequel.rb
40 lines (34 loc) · 968 Bytes
/
sequel.rb
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
33
34
35
36
37
38
39
40
# encoding: UTF-8
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/..')
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
require 'rubygems'
require 'benchmark'
require 'sequel'
require 'sequel/adapters/do'
number_of = 10
mysql2_opts = "mysql2://localhost/test"
mysql_opts = "mysql://localhost/test"
do_mysql_opts = "do:mysql://localhost/test"
class Mysql2Model < Sequel::Model(Sequel.connect(mysql2_opts)[:mysql2_test]); end
class MysqlModel < Sequel::Model(Sequel.connect(mysql_opts)[:mysql2_test]); end
class DOMysqlModel < Sequel::Model(Sequel.connect(do_mysql_opts)[:mysql2_test]); end
Benchmark.bmbm do |x|
x.report do
puts "Mysql2"
number_of.times do
Mysql2Model.limit(1000).all
end
end
x.report do
puts "do:mysql"
number_of.times do
DOMysqlModel.limit(1000).all
end
end
x.report do
puts "Mysql"
number_of.times do
MysqlModel.limit(1000).all
end
end
end