diff --git a/actionpack/examples/minimal.rb b/actionpack/examples/minimal.rb index 7106149fa20ca571cac18ad795090f777ca9d029..01c64ba56bce123d70c020a6e19c2d3c31b18ac8 100644 --- a/actionpack/examples/minimal.rb +++ b/actionpack/examples/minimal.rb @@ -3,6 +3,7 @@ ENV['NO_RELOAD'] ||= '1' $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib" +$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../../activesupport/lib" require 'action_controller' require 'action_controller/new_base' if ENV['NEW'] require 'benchmark' @@ -26,7 +27,7 @@ def report(env, response) def self.run(app, n, label = nil) puts '=' * label.size, label, '=' * label.size if label - env = { 'n' => n, 'rack.input' => StringIO.new(''), 'rack.errors' => $stdout } + env = Rack::MockRequest.env_for("/").merge('n' => n, 'rack.input' => StringIO.new(''), 'rack.errors' => $stdout) t = Benchmark.realtime { new(app).call(env) } puts "%d ms / %d req = %.1f usec/req" % [10**3 * t, n, 10**6 * t / n] puts @@ -37,9 +38,27 @@ def self.run(app, n, label = nil) N = (ENV['N'] || 1000).to_i class BasePostController < ActionController::Base + append_view_path "#{File.dirname(__FILE__)}/views" + def index render :text => '' end + + def partial + render :partial => "/partial" + end + + def many_partials + render :partial => "/many_partials" + end + + def partial_collection + render :partial => "/collection", :collection => [1,2,3,4,5,6,7,8,9,10] + end + + def show_template + render :template => "template" + end end OK = [200, {}, []] @@ -51,6 +70,10 @@ def index end end -Runner.run(MetalPostController, N, 'metal') -Runner.run(HttpPostController.action(:index), N, 'http') if defined? HttpPostController -Runner.run(BasePostController.action(:index), N, 'base') +# Runner.run(MetalPostController, N, 'metal') +# Runner.run(HttpPostController.action(:index), N, 'http') if defined? HttpPostController +# Runner.run(BasePostController.action(:index), N, 'base') +Runner.run(BasePostController.action(:partial), N, 'partial') +Runner.run(BasePostController.action(:many_partials), N, 'many_partials') +Runner.run(BasePostController.action(:partial_collection), N, 'collection') +Runner.run(BasePostController.action(:show_template), N, 'template') diff --git a/actionpack/examples/views/_collection.erb b/actionpack/examples/views/_collection.erb new file mode 100644 index 0000000000000000000000000000000000000000..bcfe958e2c34fcb691fa5b72e549a8074bc0de3a --- /dev/null +++ b/actionpack/examples/views/_collection.erb @@ -0,0 +1 @@ +<%= collection %> \ No newline at end of file diff --git a/actionpack/examples/views/_hello.erb b/actionpack/examples/views/_hello.erb new file mode 100644 index 0000000000000000000000000000000000000000..5ab2f8a4323abafb10abb68657d9d39f1a775057 --- /dev/null +++ b/actionpack/examples/views/_hello.erb @@ -0,0 +1 @@ +Hello \ No newline at end of file diff --git a/actionpack/examples/views/_many_partials.erb b/actionpack/examples/views/_many_partials.erb new file mode 100644 index 0000000000000000000000000000000000000000..7e379d46f5913a7a6452722d234344f48f29a400 --- /dev/null +++ b/actionpack/examples/views/_many_partials.erb @@ -0,0 +1,10 @@ +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> +<%= render :partial => '/hello' %> \ No newline at end of file diff --git a/actionpack/examples/views/_partial.erb b/actionpack/examples/views/_partial.erb new file mode 100644 index 0000000000000000000000000000000000000000..3ca8e80b52980032f5780141bbe4dd1bc6bb5685 --- /dev/null +++ b/actionpack/examples/views/_partial.erb @@ -0,0 +1,10 @@ +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> +<%= "Hello" %> diff --git a/actionpack/examples/views/template.html.erb b/actionpack/examples/views/template.html.erb index 3108e9ad70c7fce937fa227072678fbb778bf0aa..5ab2f8a4323abafb10abb68657d9d39f1a775057 100644 --- a/actionpack/examples/views/template.html.erb +++ b/actionpack/examples/views/template.html.erb @@ -1 +1 @@ -Hello <%= @name %> \ No newline at end of file +Hello \ No newline at end of file