From 3db13fb80accc8526ae05d13d1fc968fe848e74c Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Mon, 9 Mar 2015 16:08:19 +0900 Subject: [PATCH] Add tenjin benchmark --- .gitignore | 1 + benchmarks/benchmark.rb | 21 +++++++++++++-------- benchmarks/view.rbhtml | 23 +++++++++++++++++++++++ hamilton.gemspec | 1 + 4 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 benchmarks/view.rbhtml diff --git a/.gitignore b/.gitignore index ae3fdc29..6317f22c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ *.so *.o *.a +*.cache mkmf.log diff --git a/benchmarks/benchmark.rb b/benchmarks/benchmark.rb index 0b2e8270..91b8a2ca 100644 --- a/benchmarks/benchmark.rb +++ b/benchmarks/benchmark.rb @@ -10,15 +10,17 @@ require 'erubis' require 'fast_haml' require 'haml' require 'slim' +require 'tenjin' require 'tilt' class Benchmarks def initialize @benches = [] - @erb_code = File.read(File.dirname(__FILE__) + '/view.erb') - @haml_code = File.read(File.dirname(__FILE__) + '/view.haml') - @slim_code = File.read(File.dirname(__FILE__) + '/view.slim') + @erb_code = File.read(File.dirname(__FILE__) + '/view.erb') + @haml_code = File.read(File.dirname(__FILE__) + '/view.haml') + @slim_code = File.read(File.dirname(__FILE__) + '/view.slim') + @rbhtml_path = File.dirname(__FILE__) + '/view.rbhtml' init_compiled_benches end @@ -28,8 +30,9 @@ class Benchmarks erubis = Erubis::Eruby.new(@erb_code) fast_erubis = Erubis::FastEruby.new(@erb_code) haml_ugly = Haml::Engine.new(@haml_code, format: :html5, ugly: true) + tenjin = Tenjin::Engine.new.get_template(@rbhtml_path) - context = Context.new + context = Context.new haml_ugly.def_method(context, :run_haml_ugly) context.instance_eval %{ @@ -39,15 +42,17 @@ class Benchmarks def run_fast_erubis; #{fast_erubis.src}; end def run_slim_ugly; #{Slim::Engine.new.call @slim_code}; end def run_fast_haml; #{FastHaml::Engine.new.call @haml_code}; end + def run_tenjin; _buf = ''; #{tenjin.script}; end } - bench('erb') { context.run_erb } bench('erubis') { context.run_erubis } + bench('tenjin') { context.run_tenjin } bench('fast erubis') { context.run_fast_erubis } - bench('temple erb') { context.run_temple_erb } - bench('slim') { context.run_slim_ugly } - bench('haml') { context.run_haml_ugly } bench('fast_haml') { context.run_fast_haml } + bench('slim') { context.run_slim_ugly } + bench('temple erb') { context.run_temple_erb } + bench('erb') { context.run_erb } + bench('haml') { context.run_haml_ugly } end def run diff --git a/benchmarks/view.rbhtml b/benchmarks/view.rbhtml new file mode 100644 index 00000000..4835f218 --- /dev/null +++ b/benchmarks/view.rbhtml @@ -0,0 +1,23 @@ + + + + + Simple Benchmark + + +

#{ header }

+ + + +

The list is empty.

+ + + diff --git a/hamilton.gemspec b/hamilton.gemspec index 161d0fde..15660473 100644 --- a/hamilton.gemspec +++ b/hamilton.gemspec @@ -25,4 +25,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency "haml" spec.add_development_dependency "rake" spec.add_development_dependency "slim" + spec.add_development_dependency "tenjin" end