diff options
author | Florian Frank <flori@ping.de> | 2009-10-26 12:48:08 +0100 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2009-10-26 22:58:08 +0100 |
commit | dd06e48aa414674f52e81f9cdc7836b6456c04f8 (patch) | |
tree | 531d1f78eed1bbab7fae33d8b77f1544a2b11832 /benchmarks | |
parent | 4852738aad89a27fbb48673eb2604f381bc8b811 (diff) | |
download | json-dd06e48aa414674f52e81f9cdc7836b6456c04f8.tar.gz |
optimised speed a lot, added only_ascii mode
Diffstat (limited to 'benchmarks')
-rwxr-xr-x | benchmarks/generator2_benchmark.rb | 8 | ||||
-rwxr-xr-x | benchmarks/generator_benchmark.rb | 8 | ||||
-rwxr-xr-x | benchmarks/parser_benchmark.rb | 12 |
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 |