aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--benchmark/bm_app_erb_render.rb26
-rw-r--r--lib/erb.rb2
2 files changed, 27 insertions, 1 deletions
diff --git a/benchmark/bm_app_erb_render.rb b/benchmark/bm_app_erb_render.rb
new file mode 100644
index 0000000000..d2929b0553
--- /dev/null
+++ b/benchmark/bm_app_erb_render.rb
@@ -0,0 +1,26 @@
+require 'erb'
+
+data = DATA.read
+max = 1_500_000
+title = "hello world!"
+content = "hello world!\n" * 10
+
+src = "def self.render(title, content); #{ERB.new(data).src}; end"
+mod = Module.new
+mod.instance_eval(src, "(ERB)")
+
+max.times do
+ mod.render(title, content)
+end
+
+__END__
+
+<html>
+ <head> <%= title %> </head>
+ <body>
+ <h1> <%= title %> </h1>
+ <p>
+ <%= content %>
+ </p>
+ </body>
+</html>
diff --git a/lib/erb.rb b/lib/erb.rb
index cb7dbaf286..cecab2fceb 100644
--- a/lib/erb.rb
+++ b/lib/erb.rb
@@ -589,7 +589,7 @@ class ERB
end
def add_put_cmd(out, content)
- out.push("#{@put_cmd} #{content_dump(content)}")
+ out.push("#{@put_cmd} -#{content_dump(content)}")
end
def add_insert_cmd(out, content)