tiny_tds 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,64 +0,0 @@
1
- # encoding: UTF-8
2
- require 'mini_portile2'
3
- require 'fileutils'
4
- require 'rbconfig'
5
-
6
- module Ports
7
- class Recipe < MiniPortile
8
- attr_writer :gem_platform
9
-
10
- def cook
11
- checkpoint = "ports/checkpoints/#{name}-#{version}-#{gem_platform}.installed"
12
-
13
- unless File.exist? checkpoint
14
- super
15
- FileUtils.mkdir_p("ports/checkpoints")
16
- FileUtils.touch checkpoint
17
- end
18
- end
19
-
20
- private
21
-
22
- attr_reader :gem_platform
23
-
24
- def port_path
25
- "#{@target}/#{gem_platform}/#{@name}/#{@version}"
26
- end
27
-
28
- def tmp_path
29
- "tmp/#{gem_platform}/ports/#{@name}/#{@version}"
30
- end
31
-
32
- def configure_defaults
33
- [
34
- "--host=#{@host}",
35
- '--disable-static',
36
- '--enable-shared'
37
- ]
38
- end
39
-
40
- def windows?
41
- host =~ /mswin|mingw32/
42
- end
43
-
44
- def system_host
45
- RbConfig::CONFIG['host']
46
- end
47
-
48
- def cross_build?
49
- host != system_host
50
- end
51
-
52
- def get_patches(libname, version)
53
- patches = []
54
-
55
- patch_path = File.expand_path(
56
- File.join('..','..','..','patches',libname,version),
57
- __FILE__
58
- )
59
-
60
- patches.concat(Dir[File.join(patch_path, '*.patch')].sort)
61
- patches.concat(Dir[File.join(patch_path, '*.diff')].sort)
62
- end
63
- end
64
- end
@@ -1,77 +0,0 @@
1
- $:.unshift File.expand_path('../../../lib',__FILE__)
2
- require 'rubygems'
3
- require 'bench_press'
4
- require 'tiny_tds'
5
- require 'odbc'
6
- require 'odbc_utf8'
7
-
8
- extend BenchPress
9
-
10
- author 'Ken Collins'
11
- summary 'Query everything.'
12
-
13
- reps 1_000
14
-
15
- @odbc = ODBC.connect ENV['TINYTDS_UNIT_DATASERVER'], 'tinytds', ''
16
- @odbc.use_time = true
17
-
18
- @odbc_utf8 = ODBC_UTF8.connect ENV['TINYTDS_UNIT_DATASERVER'], 'tinytds', ''
19
- @odbc_utf8.use_time = true
20
-
21
- @tinytds = TinyTds::Client.new(
22
- :dataserver => ENV['TINYTDS_UNIT_DATASERVER'],
23
- :username => 'tinytds',
24
- :password => '',
25
- :database => 'tinytdstest',
26
- :appname => 'TinyTds Dev',
27
- :login_timeout => 5,
28
- :timeout => 5 )
29
-
30
- @query_all = "SELECT * FROM [datatypes]"
31
-
32
-
33
- measure "ODBC (ascii-8bit)" do
34
- h = @odbc.run(@query_all)
35
- h.fetch_all
36
- h.drop
37
- end
38
-
39
- # measure "ODBC (utf8)" do
40
- # h = @odbc_utf8.run(@query_all)
41
- # h.fetch_all
42
- # h.drop
43
- # end
44
-
45
- measure "TinyTDS (row caching)" do
46
- @tinytds.execute(@query_all).each
47
- end
48
-
49
- measure "TinyTDS (no caching)" do
50
- @tinytds.execute(@query_all).each(:cache_rows => false)
51
- end
52
-
53
-
54
-
55
- =begin
56
-
57
- Author: Ken Collins
58
- Date: January 22, 2011
59
- Summary: Query everything.
60
-
61
- System Information
62
- ------------------
63
- Operating System: Mac OS X 10.6.6 (10J567)
64
- CPU: Intel Core 2 Duo 1.6 GHz
65
- Processor Count: 2
66
- Memory: 4 GB
67
- ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin10.4.3], MBARI 0x6770, Ruby Enterprise Edition 2010.02
68
-
69
- "TinyTDS (row caching)" is up to 79% faster over 1,000 repetitions
70
- ------------------------------------------------------------------
71
-
72
- TinyTDS (row caching) 4.90862512588501 secs Fastest
73
- TinyTDS (no caching) 4.91626906394958 secs 0% Slower
74
- ODBC (ascii-8bit) 23.959536075592 secs 79% Slower
75
-
76
- =end
77
-
@@ -1,106 +0,0 @@
1
- require 'rubygems'
2
- require 'bench_press'
3
- begin gem 'odbc', '0.99992' ; rescue Gem::LoadError ; end
4
- require 'odbc'
5
-
6
- extend BenchPress
7
-
8
- author 'Ken Collins'
9
- summary 'Benchmarking ODBC Querys'
10
-
11
- reps 1_000
12
-
13
- @client = ODBC.connect ENV['TINYTDS_UNIT_DATASERVER'], 'tinytds', ''
14
- @client.use_time = true
15
-
16
- @query_nothing = "SELECT NULL AS [null]"
17
- @query_ints = "SELECT [int], [bigint], [smallint], [tinyint] FROM [datatypes]"
18
- @query_binaries = "SELECT [binary_50], [image], [varbinary_50] FROM [datatypes]"
19
- @query_bits = "SELECT [bit] FROM [datatypes]"
20
- @query_chars = "SELECT [char_10], [nchar_10], [ntext], [nvarchar_50], [text], [varchar_50] FROM [datatypes]"
21
- @query_dates = "SELECT [datetime], [smalldatetime] FROM [datatypes]"
22
- @query_decimals = "SELECT [decimal_9_2], [decimal_16_4], [numeric_18_0], [numeric_36_2] FROM [datatypes]"
23
- @query_floats = "SELECT [float], [real] FROM [datatypes]"
24
- @query_moneys = "SELECT [money], [smallmoney] FROM [datatypes]"
25
- @query_guids = "SELECT [uniqueidentifier] FROM [datatypes]"
26
- @query_all = "SELECT * FROM [datatypes]"
27
-
28
- def select_all(query)
29
- h = @client.run(query)
30
- h.fetch_all
31
- h.drop
32
- end
33
-
34
-
35
- measure "Nothing" do
36
- select_all @query_nothing
37
- end
38
-
39
- measure "Integers" do
40
- select_all @query_ints
41
- end
42
-
43
- measure "Binaries" do
44
- select_all @query_binaries
45
- end
46
-
47
- measure "Bits" do
48
- select_all @query_bits
49
- end
50
-
51
- measure "Chars" do
52
- select_all @query_chars
53
- end
54
-
55
- measure "Dates" do
56
- select_all @query_dates
57
- end
58
-
59
- measure "Decimals" do
60
- select_all @query_decimals
61
- end
62
-
63
- measure "Floats" do
64
- select_all @query_floats
65
- end
66
-
67
- measure "Moneys" do
68
- select_all @query_moneys
69
- end
70
-
71
- measure "Guids" do
72
- select_all @query_guids
73
- end
74
-
75
- measure "All" do
76
- select_all @query_all
77
- end
78
-
79
-
80
- =begin
81
-
82
- System Information
83
- ------------------
84
- Operating System: Mac OS X 10.6.4 (10F569)
85
- CPU: Intel Core 2 Duo 2.4 GHz
86
- Processor Count: 2
87
- Memory: 4 GB
88
- ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.0]
89
-
90
- "Nothing" is up to 98% faster over 1,000 repetitions
91
- ----------------------------------------------------
92
-
93
- Nothing 0.297961950302124 secs Fastest
94
- Bits 0.377611875534058 secs 21% Slower
95
- Guids 0.381000995635986 secs 21% Slower
96
- Moneys 0.405518054962158 secs 26% Slower
97
- Floats 0.409428119659424 secs 27% Slower
98
- Integers 0.448167085647583 secs 33% Slower
99
- Decimals 0.471596956253052 secs 36% Slower
100
- Dates 0.52501106262207 secs 43% Slower
101
- Binaries 3.66349482536316 secs 91% Slower
102
- Chars 6.82928085327148 secs 95% Slower
103
- All 28.4982612133026 secs 98% Slower
104
-
105
- =end
106
-
@@ -1,126 +0,0 @@
1
- require 'rubygems'
2
- require 'bench_press'
3
- $:.unshift File.expand_path('../../../lib',__FILE__)
4
- require 'tiny_tds'
5
-
6
- extend BenchPress
7
-
8
- author 'Ken Collins'
9
- summary 'Benchmark TinyTds Querys'
10
-
11
- reps 1_000
12
-
13
- @client = TinyTds::Client.new({
14
- :dataserver => ENV['TINYTDS_UNIT_DATASERVER'],
15
- :username => 'tinytds',
16
- :password => '',
17
- :database => 'tinytdstest',
18
- :appname => 'TinyTds Dev',
19
- :login_timeout => 5,
20
- :timeout => 5
21
- })
22
-
23
- @query_nothing = "SELECT NULL AS [null]"
24
- @query_ints = "SELECT [int], [bigint], [smallint], [tinyint] FROM [datatypes]"
25
- @query_binaries = "SELECT [binary_50], [image], [varbinary_50] FROM [datatypes]"
26
- @query_bits = "SELECT [bit] FROM [datatypes]"
27
- @query_chars = "SELECT [char_10], [nchar_10], [ntext], [nvarchar_50], [text], [varchar_50] FROM [datatypes]"
28
- @query_dates = "SELECT [datetime], [smalldatetime] FROM [datatypes]"
29
- @query_decimals = "SELECT [decimal_9_2], [decimal_16_4], [numeric_18_0], [numeric_36_2] FROM [datatypes]"
30
- @query_floats = "SELECT [float], [real] FROM [datatypes]"
31
- @query_moneys = "SELECT [money], [smallmoney] FROM [datatypes]"
32
- @query_guids = "SELECT [uniqueidentifier] FROM [datatypes]"
33
- @query_all = "SELECT * FROM [datatypes]"
34
-
35
- def select_all(query)
36
- @client.execute(query).each
37
- end
38
-
39
-
40
- measure "Nothing" do
41
- select_all @query_nothing
42
- end
43
-
44
- measure "Integers" do
45
- select_all @query_ints
46
- end
47
-
48
- measure "Binaries" do
49
- select_all @query_binaries
50
- end
51
-
52
- measure "Bits" do
53
- select_all @query_bits
54
- end
55
-
56
- measure "Chars" do
57
- select_all @query_chars
58
- end
59
-
60
- measure "Dates" do
61
- select_all @query_dates
62
- end
63
-
64
- measure "Decimals" do
65
- select_all @query_decimals
66
- end
67
-
68
- measure "Floats" do
69
- select_all @query_floats
70
- end
71
-
72
- measure "Moneys" do
73
- select_all @query_moneys
74
- end
75
-
76
- measure "Guids" do
77
- select_all @query_guids
78
- end
79
-
80
- measure "All" do
81
- select_all @query_all
82
- end
83
-
84
-
85
- =begin
86
-
87
- Query Tinytds
88
- =============
89
- Author: Ken Collins
90
- Date: September 11, 2011
91
- Summary: Benchmark TinyTds Querys
92
-
93
- System Information
94
- ------------------
95
- Operating System: Mac OS X 10.7.1 (11B26)
96
- CPU: Quad-Core Intel Xeon 2.66 GHz
97
- Processor Count: 4
98
- Memory: 24 GB
99
- ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin11.1.0], MBARI 0x6770, Ruby Enterprise Edition 2011.03
100
-
101
- ----------------------------------------------------
102
- (before 64bit times) (after 64bit times)
103
- Nothing 0.287657022476196 secs Nothing 0.289273977279663 secs
104
- Bits 0.406533002853394 secs Bits 0.424988031387329 secs
105
- Guids 0.419962882995605 secs Guids 0.427381992340088 secs
106
- Floats 0.452103137969971 secs Floats 0.455377101898193 secs
107
- Moneys 0.481696844100952 secs Moneys 0.485175132751465 secs
108
- Integers 0.496185064315796 secs Integers 0.525003910064697 secs
109
- Binaries 0.538873195648193 secs Decimals 0.541536808013916 secs
110
- Decimals 0.540570974349976 secs Binaries 0.542865991592407 secs
111
- Dates 0.761389970779419 secs Dates 1.51440119743347 secs
112
- Chars 0.793163061141968 secs Chars 0.666505098342896 secs
113
- All 4.4630811214447 secs All 5.17242312431335 secs
114
-
115
- =end
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-