summaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorFlorian Frank <flori@ping.de>2009-10-26 12:48:08 +0100
committerFlorian Frank <flori@ping.de>2009-10-26 22:58:08 +0100
commitdd06e48aa414674f52e81f9cdc7836b6456c04f8 (patch)
tree531d1f78eed1bbab7fae33d8b77f1544a2b11832 /benchmarks
parent4852738aad89a27fbb48673eb2604f381bc8b811 (diff)
downloadjson-dd06e48aa414674f52e81f9cdc7836b6456c04f8.tar.gz
optimised speed a lot, added only_ascii mode
Diffstat (limited to 'benchmarks')
-rwxr-xr-xbenchmarks/generator2_benchmark.rb8
-rwxr-xr-xbenchmarks/generator_benchmark.rb8
-rwxr-xr-xbenchmarks/parser_benchmark.rb12
3 files changed, 22 insertions, 6 deletions
diff --git a/benchmarks/generator2_benchmark.rb b/benchmarks/generator2_benchmark.rb
index 10cf711..38653cb 100755
--- a/benchmarks/generator2_benchmark.rb
+++ b/benchmarks/generator2_benchmark.rb
@@ -53,6 +53,12 @@ module JSONGeneratorCommon
end
alias reset_benchmark_generator_pretty generic_reset_method
+
+ def benchmark_generator_ascii
+ @result = JSON.generate(@big, :ascii_only => true)
+ end
+
+ alias reset_benchmark_generator_ascii generic_reset_method
end
class Generator2BenchmarkExt < Bullshit::RepeatCase
@@ -193,9 +199,11 @@ if $0 == __FILE__
benchmark Generator2BenchmarkExt, :generator_fast, :load => yes
benchmark Generator2BenchmarkExt, :generator_safe, :load => yes
benchmark Generator2BenchmarkExt, :generator_pretty, :load => yes
+ benchmark Generator2BenchmarkExt, :generator_ascii, :load => yes
benchmark Generator2BenchmarkPure, :generator_fast, :load => yes
benchmark Generator2BenchmarkPure, :generator_safe, :load => yes
benchmark Generator2BenchmarkPure, :generator_pretty, :load => yes
+ benchmark Generator2BenchmarkPure, :generator_ascii, :load => yes
benchmark Generator2BenchmarkRails, :generator, :load => yes
benchmark Generator2BenchmarkYajl, :generator, :load => yes
end
diff --git a/benchmarks/generator_benchmark.rb b/benchmarks/generator_benchmark.rb
index 539fb91..79ac4d8 100755
--- a/benchmarks/generator_benchmark.rb
+++ b/benchmarks/generator_benchmark.rb
@@ -55,6 +55,12 @@ module JSONGeneratorCommon
end
alias reset_benchmark_generator_pretty generic_reset_method
+
+ def benchmark_generator_ascii
+ @result = JSON.generate(@big, :ascii_only => true)
+ end
+
+ alias reset_benchmark_generator_ascii generic_reset_method
end
class GeneratorBenchmarkExt < Bullshit::RepeatCase
@@ -195,9 +201,11 @@ if $0 == __FILE__
benchmark GeneratorBenchmarkExt, :generator_fast, :load => yes
benchmark GeneratorBenchmarkExt, :generator_safe, :load => yes
benchmark GeneratorBenchmarkExt, :generator_pretty, :load => yes
+ benchmark GeneratorBenchmarkExt, :generator_ascii, :load => yes
benchmark GeneratorBenchmarkPure, :generator_fast, :load => yes
benchmark GeneratorBenchmarkPure, :generator_safe, :load => yes
benchmark GeneratorBenchmarkPure, :generator_pretty, :load => yes
+ benchmark GeneratorBenchmarkPure, :generator_ascii, :load => yes
benchmark GeneratorBenchmarkRails, :generator, :load => yes
benchmark GeneratorBenchmarkYajl, :generator, :load => yes
end
diff --git a/benchmarks/parser_benchmark.rb b/benchmarks/parser_benchmark.rb
index 7ac027e..2dbad2a 100755
--- a/benchmarks/parser_benchmark.rb
+++ b/benchmarks/parser_benchmark.rb
@@ -221,9 +221,9 @@ if $0 == __FILE__
ParserBenchmarkYajl.run
else
system "#{RAKE_PATH} clean"
- #system "#{RUBY_PATH} #$0 yaml"
- #system "#{RUBY_PATH} #$0 rails"
- #system "#{RUBY_PATH} #$0 pure"
+ system "#{RUBY_PATH} #$0 yaml"
+ system "#{RUBY_PATH} #$0 rails"
+ system "#{RUBY_PATH} #$0 pure"
system "#{RAKE_PATH} compile_ext"
system "#{RUBY_PATH} #$0 ext"
system "#{RUBY_PATH} #$0 yajl"
@@ -231,9 +231,9 @@ if $0 == __FILE__
output_filename File.join(File.dirname(__FILE__), 'data', 'ParserBenchmarkComparison.log')
benchmark ParserBenchmarkExt, :parser, :load => yes
- #benchmark ParserBenchmarkPure, :parser, :load => yes
- #benchmark ParserBenchmarkYAML, :parser, :load => yes
- #benchmark ParserBenchmarkRails, :parser, :load => yes
+ benchmark ParserBenchmarkPure, :parser, :load => yes
+ benchmark ParserBenchmarkYAML, :parser, :load => yes
+ benchmark ParserBenchmarkRails, :parser, :load => yes
benchmark ParserBenchmarkYajl, :parser, :load => yes
end
end