diff --git a/haml.gemspec b/haml.gemspec index 8e8a943d..451b5b99 100644 --- a/haml.gemspec +++ b/haml.gemspec @@ -20,6 +20,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rails' spec.add_development_dependency 'ruby_parser' spec.add_development_dependency 'ruby-prof' + spec.add_development_dependency 'rbench' spec.description = <<-END Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's diff --git a/test/benchmark.rb b/test/benchmark.rb index 3b1b6b60..802999e2 100644 --- a/test/benchmark.rb +++ b/test/benchmark.rb @@ -1,3 +1,8 @@ +require "rubygems" +require "bundler/setup" +require "haml" +require "rbench" + times = (ARGV.first || 1000).to_i if times == 0 # Invalid parameter @@ -8,8 +13,6 @@ END exit 1 end -require File.dirname(__FILE__) + '/../lib/haml' -require File.dirname(__FILE__) + '/linked_rails' %w[rubygems erb erubis active_support action_controller action_view action_pack haml/template rbench].each {|dep| require(dep)} @@ -53,36 +56,31 @@ RBench.run(times) do end report "ActionView" do - @base = view - @base.unmemoize_all Haml::Template.options[:ugly] = false # To cache the template - render @base, 'haml/templates/standard' - render @base, 'haml/erb/standard' + render view, 'templates/standard' + render view, 'erb/standard' - haml { render @base, 'haml/templates/standard' } - erb { render @base, 'haml/erb/standard' } + haml { render view, 'templates/standard' } + erb { render view, 'erb/standard' } Haml::Template.options[:ugly] = true - render @base, 'haml/templates/standard_ugly' - haml_ugly { render @base, 'haml/templates/standard_ugly' } + render view, 'templates/standard_ugly' + haml_ugly { render view, 'templates/standard_ugly' } end report "ActionView with deep partials" do - @base = view - - @base.unmemoize_all Haml::Template.options[:ugly] = false # To cache the template - render @base, 'haml/templates/action_view' - render @base, 'haml/erb/action_view' + render view, 'templates/action_view' + render view, 'erb/action_view' - haml { render @base, 'haml/templates/action_view' } - erb { render @base, 'haml/erb/action_view' } + haml { render view, 'templates/action_view' } + erb { render view, 'erb/action_view' } Haml::Template.options[:ugly] = true - render @base, 'haml/templates/action_view_ugly' - haml_ugly { render @base, 'haml/templates/action_view_ugly' } + render view, 'templates/action_view_ugly' + haml_ugly { render view, 'templates/action_view_ugly' } end end diff --git a/test/erb/_av_partial_1.erb b/test/erb/_av_partial_1.erb index 6cf41eb5..0c836a1a 100644 --- a/test/erb/_av_partial_1.erb +++ b/test/erb/_av_partial_1.erb @@ -6,7 +6,7 @@
Nesting level <%= @nesting %>
<% if @nesting > 0 %> - <%= render :partial => 'haml/erb/av_partial_2' %> + <%= render :partial => 'erb/av_partial_2' %> <% end %> diff --git a/test/erb/action_view.erb b/test/erb/action_view.erb index c81586f3..389ffe9d 100644 --- a/test/erb/action_view.erb +++ b/test/erb/action_view.erb @@ -11,7 +11,7 @@ It's only used for benchmarking.