scout 5.1.2 → 5.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. data/CHANGELOG +5 -0
  2. data/lib/scout.rb +1 -1
  3. data/lib/scout/server.rb +4 -1
  4. data/vendor/json_pure/CHANGES +43 -0
  5. data/vendor/json_pure/{RUBY → COPYING} +1 -1
  6. data/vendor/json_pure/GPL +7 -7
  7. data/vendor/json_pure/README +319 -39
  8. data/vendor/json_pure/Rakefile +69 -47
  9. data/vendor/json_pure/VERSION +1 -1
  10. data/vendor/json_pure/benchmarks/generator2_benchmark.rb +222 -0
  11. data/vendor/json_pure/benchmarks/generator_benchmark.rb +64 -5
  12. data/vendor/json_pure/benchmarks/ohai.json +1216 -0
  13. data/vendor/json_pure/benchmarks/ohai.ruby +1 -0
  14. data/vendor/json_pure/benchmarks/parser2_benchmark.rb +251 -0
  15. data/vendor/json_pure/benchmarks/parser_benchmark.rb +67 -5
  16. data/vendor/json_pure/ext/json/ext/generator/extconf.rb +9 -4
  17. data/vendor/json_pure/ext/json/ext/generator/generator.c +831 -409
  18. data/vendor/json_pure/ext/json/ext/generator/generator.h +170 -0
  19. data/vendor/json_pure/ext/json/ext/parser/extconf.rb +8 -4
  20. data/vendor/json_pure/ext/json/ext/parser/parser.c +292 -186
  21. data/vendor/json_pure/ext/json/ext/parser/parser.h +71 -0
  22. data/vendor/json_pure/ext/json/ext/parser/parser.rl +218 -112
  23. data/vendor/json_pure/lib/json/add/core.rb +20 -7
  24. data/vendor/json_pure/lib/json/add/rails.rb +2 -2
  25. data/vendor/json_pure/lib/json/common.rb +85 -42
  26. data/vendor/json_pure/lib/json/pure.rb +3 -3
  27. data/vendor/json_pure/lib/json/pure/generator.rb +112 -90
  28. data/vendor/json_pure/lib/json/pure/parser.rb +42 -4
  29. data/vendor/json_pure/lib/json/version.rb +1 -1
  30. data/vendor/json_pure/tests/test_json.rb +46 -18
  31. data/vendor/json_pure/tests/test_json_addition.rb +4 -6
  32. data/vendor/json_pure/tests/test_json_encoding.rb +68 -0
  33. data/vendor/json_pure/tests/test_json_generate.rb +30 -14
  34. data/vendor/json_pure/tests/test_json_rails.rb +5 -7
  35. data/vendor/json_pure/tests/test_json_unicode.rb +20 -6
  36. metadata +26 -15
  37. data/vendor/json_pure/doc-templates/main.txt +0 -283
  38. data/vendor/json_pure/ext/json/ext/generator/unicode.c +0 -182
  39. data/vendor/json_pure/ext/json/ext/generator/unicode.h +0 -53
  40. data/vendor/json_pure/ext/json/ext/parser/unicode.c +0 -154
  41. data/vendor/json_pure/ext/json/ext/parser/unicode.h +0 -58
@@ -1,34 +1,53 @@
1
1
  begin
2
2
  require 'rake/gempackagetask'
3
+ rescue LoadError
4
+ end
5
+
6
+ begin
3
7
  require 'rake/extensiontask'
4
8
  rescue LoadError
9
+ puts "WARNING: rake-compiler is not installed. You will not be able to build the json gem until you install it."
5
10
  end
6
- require 'rake/clean'
7
11
 
8
12
  require 'rbconfig'
9
13
  include Config
10
14
 
15
+ require 'rake/clean'
16
+ CLOBBER.include Dir['benchmarks/data/*.{dat,log}'], FileList['**/*.rbc']
17
+ CLEAN.include FileList['diagrams/*.*'], 'doc', 'coverage', 'tmp',
18
+ FileList["ext/**/{Makefile,mkmf.log}"],
19
+ FileList["{ext,lib}/**/*.{so,bundle,#{CONFIG['DLEXT']},o,obj,pdb,lib,manifest,exp,def}"]
20
+
21
+ MAKE = ENV['MAKE'] || %w[gmake make].find { |c| system(c, '-v') }
11
22
  PKG_NAME = 'json'
23
+ PKG_TITLE = 'JSON Implementation for Ruby'
12
24
  PKG_VERSION = File.read('VERSION').chomp
13
- PKG_FILES = FileList["**/*"].exclude(/CVS|pkg|tmp|coverage|Makefile/).exclude(/\.(so|bundle|o|#{CONFIG['DLEXT']})$/)
25
+ PKG_FILES = FileList["**/*"].exclude(/CVS|pkg|tmp|coverage|Makefile|\.nfs\./).exclude(/\.(so|bundle|o|#{CONFIG['DLEXT']})$/)
14
26
  EXT_ROOT_DIR = 'ext/json/ext'
15
27
  EXT_PARSER_DIR = "#{EXT_ROOT_DIR}/parser"
16
- EXT_PARSER_DL = "#{EXT_ROOT_DIR}/parser.#{CONFIG['DLEXT']}"
28
+ EXT_PARSER_DL = "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}"
17
29
  EXT_PARSER_SRC = "#{EXT_PARSER_DIR}/parser.c"
18
30
  PKG_FILES << EXT_PARSER_SRC
19
31
  EXT_GENERATOR_DIR = "#{EXT_ROOT_DIR}/generator"
20
- EXT_GENERATOR_DL = "#{EXT_ROOT_DIR}/generator.#{CONFIG['DLEXT']}"
32
+ EXT_GENERATOR_DL = "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}"
21
33
  EXT_GENERATOR_SRC = "#{EXT_GENERATOR_DIR}/generator.c"
22
34
  RAGEL_CODEGEN = %w[rlcodegen rlgen-cd ragel].find { |c| system(c, '-v') }
23
35
  RAGEL_DOTGEN = %w[rlgen-dot rlgen-cd ragel].find { |c| system(c, '-v') }
24
36
  RAGEL_PATH = "#{EXT_PARSER_DIR}/parser.rl"
25
- CLEAN.include FileList['diagrams/*.*'], 'doc', 'coverage', 'tmp',
26
- FileList["ext/**/{Makefile,mkmf.log}"],
27
- FileList["{ext,lib}/**/*.{so,bundle,#{CONFIG['DLEXT']},o,obj,pdb,lib,manifest,exp,def}"]
37
+
38
+ def myruby(*args, &block)
39
+ @myruby ||= File.join(CONFIG['bindir'], CONFIG['ruby_install_name'])
40
+ options = (Hash === args.last) ? args.pop : {}
41
+ if args.length > 1 then
42
+ sh(*([@myruby] + args + [options]), &block)
43
+ else
44
+ sh("#{@myruby} #{args.first}", options, &block)
45
+ end
46
+ end
28
47
 
29
48
  desc "Installing library (pure)"
30
49
  task :install_pure => :version do
31
- ruby 'install.rb'
50
+ myruby 'install.rb'
32
51
  end
33
52
 
34
53
  task :install_ext_really do
@@ -46,23 +65,27 @@ desc "Installing library (extension)"
46
65
  task :install_ext => [ :compile_ext, :install_pure, :install_ext_really ]
47
66
 
48
67
  desc "Installing library (extension)"
49
- task :install => :install_ext
68
+ if RUBY_PLATFORM =~ /java/
69
+ task :install => :install_pure
70
+ else
71
+ task :install => :install_ext
72
+ end
50
73
 
51
74
  desc "Compiling extension"
52
75
  task :compile_ext => [ EXT_PARSER_DL, EXT_GENERATOR_DL ]
53
76
 
54
77
  file EXT_PARSER_DL => EXT_PARSER_SRC do
55
78
  cd EXT_PARSER_DIR do
56
- ruby 'extconf.rb'
57
- system 'make'
79
+ myruby 'extconf.rb'
80
+ sh MAKE
58
81
  end
59
82
  cp "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}", EXT_ROOT_DIR
60
83
  end
61
84
 
62
85
  file EXT_GENERATOR_DL => EXT_GENERATOR_SRC do
63
86
  cd EXT_GENERATOR_DIR do
64
- ruby 'extconf.rb'
65
- system 'make'
87
+ myruby 'extconf.rb'
88
+ sh MAKE
66
89
  end
67
90
  cp "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}", EXT_ROOT_DIR
68
91
  end
@@ -77,9 +100,9 @@ end
77
100
  file EXT_PARSER_SRC => RAGEL_PATH do
78
101
  cd EXT_PARSER_DIR do
79
102
  if RAGEL_CODEGEN == 'ragel'
80
- system "ragel parser.rl -G2 -o parser.c"
103
+ sh "ragel parser.rl -G2 -o parser.c"
81
104
  else
82
- system "ragel -x parser.rl | #{RAGEL_CODEGEN} -G2"
105
+ sh "ragel -x parser.rl | #{RAGEL_CODEGEN} -G2"
83
106
  end
84
107
  end
85
108
  end
@@ -89,11 +112,11 @@ task :ragel_dot_ps do
89
112
  root = 'diagrams'
90
113
  specs = []
91
114
  File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 }
92
- for s in specs
115
+ for s in specs
93
116
  if RAGEL_DOTGEN == 'ragel'
94
- system "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tps -o#{root}/#{s}.ps"
117
+ sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tps -o#{root}/#{s}.ps"
95
118
  else
96
- system "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tps -o#{root}/#{s}.ps"
119
+ sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tps -o#{root}/#{s}.ps"
97
120
  end
98
121
  end
99
122
  end
@@ -103,11 +126,11 @@ task :ragel_dot_png do
103
126
  root = 'diagrams'
104
127
  specs = []
105
128
  File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 }
106
- for s in specs
129
+ for s in specs
107
130
  if RAGEL_DOTGEN == 'ragel'
108
- system "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tpng -o#{root}/#{s}.png"
131
+ sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tpng -o#{root}/#{s}.png"
109
132
  else
110
- system "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tpng -o#{root}/#{s}.png"
133
+ sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tpng -o#{root}/#{s}.png"
111
134
  end
112
135
  end
113
136
  end
@@ -119,14 +142,14 @@ desc "Testing library (pure ruby)"
119
142
  task :test_pure => :clean do
120
143
  ENV['JSON'] = 'pure'
121
144
  ENV['RUBYOPT'] = "-Iext:lib #{ENV['RUBYOPT']}"
122
- system "testrb #{Dir['tests/*.rb'] * ' '}"
145
+ myruby "-S testrb #{Dir['./tests/*.rb'] * ' '}"
123
146
  end
124
147
 
125
148
  desc "Testing library (extension)"
126
149
  task :test_ext => :compile_ext do
127
150
  ENV['JSON'] = 'ext'
128
151
  ENV['RUBYOPT'] = "-Iext:lib #{ENV['RUBYOPT']}"
129
- system "testrb #{Dir['tests/*.rb'] * ' '}"
152
+ myruby "-S testrb #{Dir['./tests/*.rb'] * ' '}"
130
153
  end
131
154
 
132
155
  desc "Testing library (pure ruby and extension)"
@@ -135,33 +158,30 @@ task :test => [ :test_pure, :test_ext ]
135
158
  desc "Benchmarking parser"
136
159
  task :benchmark_parser do
137
160
  ENV['RUBYOPT'] = "-Ilib:ext #{ENV['RUBYOPT']}"
138
- ruby 'benchmarks/parser_benchmark.rb'
161
+ myruby 'benchmarks/parser_benchmark.rb'
162
+ myruby 'benchmarks/parser2_benchmark.rb'
139
163
  end
140
164
 
141
165
  desc "Benchmarking generator"
142
166
  task :benchmark_generator do
143
167
  ENV['RUBYOPT'] = "-Ilib:ext #{ENV['RUBYOPT']}"
144
- ruby 'benchmarks/generator_benchmark.rb'
168
+ myruby 'benchmarks/generator_benchmark.rb'
169
+ myruby 'benchmarks/generator2_benchmark.rb'
145
170
  end
146
171
 
147
172
  desc "Benchmarking library"
148
173
  task :benchmark => [ :benchmark_parser, :benchmark_generator ]
149
174
 
150
- desc "Clean benchmark data"
151
- task :clean_benchmark_data do
152
- rm_rf Dir['benchmarks/data/*.{dat,log}']
153
- end
154
-
155
175
  desc "Create RDOC documentation"
156
176
  task :doc => [ :version, EXT_PARSER_SRC ] do
157
- system "rdoc -S -o doc -m main.txt doc-templates/main.txt lib/json.rb #{FileList['lib/json/**/*.rb']} #{EXT_PARSER_SRC} #{EXT_GENERATOR_SRC}"
177
+ sh "rdoc -o doc -t '#{PKG_TITLE}' -m README README lib/json.rb #{FileList['lib/json/**/*.rb']} #{EXT_PARSER_SRC} #{EXT_GENERATOR_SRC}"
158
178
  end
159
179
 
160
- if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::ExtensionTask)
180
+ if defined?(Gem) and defined?(Rake::GemPackageTask)
161
181
  spec_pure = Gem::Specification.new do |s|
162
182
  s.name = 'json_pure'
163
183
  s.version = PKG_VERSION
164
- s.summary = "A JSON implementation in Ruby"
184
+ s.summary = PKG_TITLE
165
185
  s.description = "This is a JSON implementation in pure Ruby."
166
186
 
167
187
  s.files = PKG_FILES
@@ -173,26 +193,28 @@ if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::Extension
173
193
  s.default_executable = "edit_json.rb"
174
194
 
175
195
  s.has_rdoc = true
196
+ s.extra_rdoc_files << 'README'
176
197
  s.rdoc_options <<
177
- '--title' << 'JSON -- A JSON implemention' <<
178
- '--main' << 'JSON' << '--line-numbers'
198
+ '--title' << 'JSON implemention for ruby' << '--main' << 'README'
179
199
  s.test_files.concat Dir['tests/*.rb']
180
200
 
181
201
  s.author = "Florian Frank"
182
202
  s.email = "flori@ping.de"
183
- s.homepage = "http://json.rubyforge.org"
203
+ s.homepage = "http://flori.github.com/#{PKG_NAME}"
184
204
  s.rubyforge_project = "json"
185
205
  end
186
206
 
187
207
  Rake::GemPackageTask.new(spec_pure) do |pkg|
188
208
  pkg.need_tar = true
189
- pkg.package_files += PKG_FILES
209
+ pkg.package_files = PKG_FILES
190
210
  end
211
+ end
191
212
 
213
+ if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::ExtensionTask)
192
214
  spec_ext = Gem::Specification.new do |s|
193
215
  s.name = 'json'
194
216
  s.version = PKG_VERSION
195
- s.summary = "A JSON implementation as a Ruby extension"
217
+ s.summary = PKG_TITLE
196
218
  s.description = "This is a JSON implementation as a Ruby extension in C."
197
219
 
198
220
  s.files = PKG_FILES
@@ -208,14 +230,14 @@ if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::Extension
208
230
  s.default_executable = "edit_json.rb"
209
231
 
210
232
  s.has_rdoc = true
233
+ s.extra_rdoc_files << 'README'
211
234
  s.rdoc_options <<
212
- '--title' << 'JSON -- A JSON implemention' <<
213
- '--main' << 'JSON' << '--line-numbers'
235
+ '--title' << 'JSON implemention for Ruby' << '--main' << 'README'
214
236
  s.test_files.concat Dir['tests/*.rb']
215
237
 
216
238
  s.author = "Florian Frank"
217
239
  s.email = "flori@ping.de"
218
- s.homepage = "http://json.rubyforge.org"
240
+ s.homepage = "http://flori.github.com/#{PKG_NAME}"
219
241
  s.rubyforge_project = "json"
220
242
  end
221
243
 
@@ -228,16 +250,16 @@ if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::Extension
228
250
  ext.name = 'parser'
229
251
  ext.gem_spec = spec_ext
230
252
  ext.cross_compile = true
231
- ext.cross_platform = 'i386-mswin32'
253
+ ext.cross_platform = %w[i386-mswin32 i386-mingw32]
232
254
  ext.ext_dir = 'ext/json/ext/parser'
233
255
  ext.lib_dir = 'lib/json/ext'
234
256
  end
235
-
257
+
236
258
  Rake::ExtensionTask.new do |ext|
237
259
  ext.name = 'generator'
238
260
  ext.gem_spec = spec_ext
239
261
  ext.cross_compile = true
240
- ext.cross_platform = 'i386-mswin32'
262
+ ext.cross_platform = %w[i386-mswin32 i386-mingw32]
241
263
  ext.ext_dir = 'ext/json/ext/generator'
242
264
  ext.lib_dir = 'lib/json/ext'
243
265
  end
@@ -260,11 +282,11 @@ EOT
260
282
  end
261
283
  end
262
284
 
263
- # TODO task :release => [ :version, :clean, :package_win ]
264
285
  desc "Build all gems and archives for a new release."
265
286
  task :release => [ :clean, :version, :cross, :native, :gem ] do
266
- system "#$0 clean native gem"
267
- system "#$0 clean package"
287
+ sh "#$0 clean native gem"
288
+ sh "#$0 clean package"
268
289
  end
269
290
 
291
+ desc "Compile in the the source directory"
270
292
  task :default => [ :version, :compile_ext ]
@@ -1 +1 @@
1
- 1.1.7
1
+ 1.4.2
@@ -0,0 +1,222 @@
1
+ #!/usr/bin/env ruby
2
+ # CODING: UTF-8
3
+
4
+ require 'rbconfig'
5
+ RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
6
+ RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
7
+ require 'bullshit'
8
+ case ARGV.first
9
+ when 'ext'
10
+ require 'json/ext'
11
+ when 'pure'
12
+ require 'json/pure'
13
+ when 'rails'
14
+ require 'active_support'
15
+ when 'yajl'
16
+ require 'yajl'
17
+ require 'yajl/json_gem'
18
+ require 'stringio'
19
+ end
20
+
21
+ module JSON
22
+ def self.[](*) end
23
+ end
24
+
25
+ module Generator2BenchmarkCommon
26
+ include JSON
27
+
28
+ def setup
29
+ @big = eval File.read(File.join(File.dirname(__FILE__), 'ohai.ruby'))
30
+ end
31
+
32
+ def generic_reset_method
33
+ @result and @result.size >= 16 or raise @result.to_s
34
+ end
35
+ end
36
+
37
+ module JSONGeneratorCommon
38
+ include Generator2BenchmarkCommon
39
+
40
+ def benchmark_generator_fast
41
+ @result = JSON.fast_generate(@big)
42
+ end
43
+
44
+ alias reset_benchmark_generator_fast generic_reset_method
45
+
46
+ def benchmark_generator_safe
47
+ @result = JSON.generate(@big)
48
+ end
49
+
50
+ alias reset_benchmark_generator_safe generic_reset_method
51
+
52
+ def benchmark_generator_pretty
53
+ @result = JSON.pretty_generate(@big)
54
+ end
55
+
56
+ alias reset_benchmark_generator_pretty generic_reset_method
57
+
58
+ def benchmark_generator_ascii
59
+ @result = JSON.generate(@big, :ascii_only => true)
60
+ end
61
+
62
+ alias reset_benchmark_generator_ascii generic_reset_method
63
+ end
64
+
65
+ class Generator2BenchmarkExt < Bullshit::RepeatCase
66
+ include JSONGeneratorCommon
67
+
68
+ warmup yes
69
+ iterations 2000
70
+
71
+ truncate_data do
72
+ enabled false
73
+ alpha_level 0.05
74
+ window_size 50
75
+ slope_angle 0.1
76
+ end
77
+
78
+ autocorrelation do
79
+ alpha_level 0.05
80
+ max_lags 50
81
+ file yes
82
+ end
83
+
84
+
85
+ output_dir File.join(File.dirname(__FILE__), 'data')
86
+ output_filename benchmark_name + '.log'
87
+ data_file yes
88
+ histogram yes
89
+ end
90
+
91
+ class Generator2BenchmarkPure < Bullshit::RepeatCase
92
+ include JSONGeneratorCommon
93
+
94
+ warmup yes
95
+ iterations 400
96
+
97
+ truncate_data do
98
+ enabled false
99
+ alpha_level 0.05
100
+ window_size 50
101
+ slope_angle 0.1
102
+ end
103
+
104
+ autocorrelation do
105
+ alpha_level 0.05
106
+ max_lags 50
107
+ file yes
108
+ end
109
+
110
+ output_dir File.join(File.dirname(__FILE__), 'data')
111
+ output_filename benchmark_name + '.log'
112
+ data_file yes
113
+ histogram yes
114
+ end
115
+
116
+ class Generator2BenchmarkRails < Bullshit::RepeatCase
117
+ include Generator2BenchmarkCommon
118
+
119
+ warmup yes
120
+ iterations 400
121
+
122
+ truncate_data do
123
+ enabled false
124
+ alpha_level 0.05
125
+ window_size 50
126
+ slope_angle 0.1
127
+ end
128
+
129
+ autocorrelation do
130
+ alpha_level 0.05
131
+ max_lags 50
132
+ file yes
133
+ end
134
+
135
+ output_dir File.join(File.dirname(__FILE__), 'data')
136
+ output_filename benchmark_name + '.log'
137
+ data_file yes
138
+ histogram yes
139
+
140
+ def benchmark_generator
141
+ @result = @big.to_json
142
+ end
143
+
144
+ alias reset_benchmark_generator generic_reset_method
145
+ end
146
+
147
+ class Generator2BenchmarkYajl < Bullshit::RepeatCase
148
+ include Generator2BenchmarkCommon
149
+
150
+ warmup yes
151
+ iterations 2000
152
+
153
+ truncate_data do
154
+ enabled false
155
+ alpha_level 0.05
156
+ window_size 50
157
+ slope_angle 0.1
158
+ end
159
+
160
+ autocorrelation do
161
+ alpha_level 0.05
162
+ max_lags 50
163
+ file yes
164
+ end
165
+
166
+ output_dir File.join(File.dirname(__FILE__), 'data')
167
+ output_filename benchmark_name + '.log'
168
+ data_file yes
169
+ histogram yes
170
+
171
+ def benchmark_generator
172
+ output = StringIO.new
173
+ Yajl::Encoder.new.encode(@big, output)
174
+ @result = output.string
175
+ end
176
+
177
+ def benchmark_generator_gem_api
178
+ @result = @big.to_json
179
+ end
180
+
181
+ def reset_benchmark_generator
182
+ generic_reset_method
183
+ end
184
+ end
185
+
186
+ if $0 == __FILE__
187
+ Bullshit::Case.autorun false
188
+
189
+ case ARGV.first
190
+ when 'ext'
191
+ Generator2BenchmarkExt.run
192
+ when 'pure'
193
+ Generator2BenchmarkPure.run
194
+ when 'rails'
195
+ Generator2BenchmarkRails.run
196
+ when 'yajl'
197
+ Generator2BenchmarkYajl.run
198
+ else
199
+ system "#{RAKE_PATH} clean"
200
+ system "#{RUBY_PATH} #$0 rails"
201
+ system "#{RUBY_PATH} #$0 pure"
202
+ system "#{RAKE_PATH} compile_ext"
203
+ system "#{RUBY_PATH} #$0 ext"
204
+ system "#{RUBY_PATH} #$0 yajl"
205
+ Bullshit.compare do
206
+ output_filename File.join(File.dirname(__FILE__), 'data', 'Generator2BenchmarkComparison.log')
207
+
208
+ benchmark Generator2BenchmarkExt, :generator_fast, :load => yes
209
+ benchmark Generator2BenchmarkExt, :generator_safe, :load => yes
210
+ benchmark Generator2BenchmarkExt, :generator_pretty, :load => yes
211
+ benchmark Generator2BenchmarkExt, :generator_ascii, :load => yes
212
+ benchmark Generator2BenchmarkPure, :generator_fast, :load => yes
213
+ benchmark Generator2BenchmarkPure, :generator_safe, :load => yes
214
+ benchmark Generator2BenchmarkPure, :generator_pretty, :load => yes
215
+ benchmark Generator2BenchmarkPure, :generator_ascii, :load => yes
216
+ benchmark Generator2BenchmarkRails, :generator, :load => yes
217
+ benchmark Generator2BenchmarkYajl, :generator, :load => yes
218
+ benchmark Generator2BenchmarkYajl, :generator_gem_api, :load => yes
219
+ end
220
+ end
221
+ end
222
+