summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-10 15:58:52 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-10 15:58:52 +0000
commit3efcb74036af32cbcc889d06d8c6c546289e89f4 (patch)
tree8f8ee7b0bddbac0ed4021d2b1af27c05f57391de /benchmark
parent498487ec2a49ca99b663ed2bab794c4eebd1c66c (diff)
downloadruby-3efcb74036af32cbcc889d06d8c6c546289e89f4.tar.gz
benchmark: revise ERB benchmarks using YAML syntax
to improve the accuracy of measurement by stop using block. benchmark/app_erb.rb -> benchmark/app_erb.yml: renamed and revised benchmark/erb_render.rb -> benchmark/erb_render.yml: ditto benchmark/README.md: follow renames git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/README.md4
-rw-r--r--benchmark/app_erb.rb25
-rw-r--r--benchmark/app_erb.yml24
-rw-r--r--benchmark/erb_render.rb25
-rw-r--r--benchmark/erb_render.yml24
5 files changed, 50 insertions, 52 deletions
diff --git a/benchmark/README.md b/benchmark/README.md
index a21cb4d324..4fc5134c0b 100644
--- a/benchmark/README.md
+++ b/benchmark/README.md
@@ -9,7 +9,7 @@ Execute `gem install benchmark_driver` and run a command like:
```bash
# Run a benchmark script with the ruby in the $PATH
-benchmark-driver benchmark/erb_render.rb
+benchmark-driver benchmark/erb_fib.rb
# Run all benchmark scripts with multiple Ruby executables or options
benchmark-driver benchmark/*.yml -e /path/to/ruby -e '/path/to/ruby --jit'
@@ -59,7 +59,7 @@ make benchmark ITEM=vm1 OPTS=--filter=block
# You can specify the benchmark by an exact filename instead of using the default argument:
# ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb')
-make benchmark ARGS=../benchmark/erb_render.rb
+make benchmark ARGS=../benchmark/erb_render.yml
# You can specify any option via $OPTS
make benchmark OPTS="--help"
diff --git a/benchmark/app_erb.rb b/benchmark/app_erb.rb
deleted file mode 100644
index 9a1cb2707f..0000000000
--- a/benchmark/app_erb.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Create many HTML strings with ERB.
-#
-
-require 'erb'
-
-data = <<erb
-<html>
- <head> <%= title %> </head>
- <body>
- <h1> <%= title %> </h1>
- <p>
- <%= content %>
- </p>
- </body>
-</html>
-erb
-
-max = 15_000
-title = "hello world!"
-content = "hello world!\n" * 10
-
-max.times{
- ERB.new(data).result(binding)
-}
diff --git a/benchmark/app_erb.yml b/benchmark/app_erb.yml
new file mode 100644
index 0000000000..8583858d20
--- /dev/null
+++ b/benchmark/app_erb.yml
@@ -0,0 +1,24 @@
+#
+# Create many HTML strings with ERB.
+#
+prelude: |
+ require 'erb'
+
+ data = <<erb
+ <html>
+ <head> <%= title %> </head>
+ <body>
+ <h1> <%= title %> </h1>
+ <p>
+ <%= content %>
+ </p>
+ </body>
+ </html>
+ erb
+
+ max = 15_000
+ title = "hello world!"
+ content = "hello world!\n" * 10
+benchmark:
+ app_erb: ERB.new(data).result(binding)
+loop_count: 15000
diff --git a/benchmark/erb_render.rb b/benchmark/erb_render.rb
deleted file mode 100644
index 7dc0816c43..0000000000
--- a/benchmark/erb_render.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-require 'erb'
-
-data = <<erb
-<html>
- <head> <%= title %> </head>
- <body>
- <h1> <%= title %> </h1>
- <p>
- <%= content %>
- </p>
- </body>
-</html>
-erb
-
-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
diff --git a/benchmark/erb_render.yml b/benchmark/erb_render.yml
new file mode 100644
index 0000000000..15f6c3880b
--- /dev/null
+++ b/benchmark/erb_render.yml
@@ -0,0 +1,24 @@
+prelude: |
+ require 'erb'
+
+ data = <<erb
+ <html>
+ <head> <%= title %> </head>
+ <body>
+ <h1> <%= title %> </h1>
+ <p>
+ <%= content %>
+ </p>
+ </body>
+ </html>
+ erb
+
+ 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)")
+benchmark:
+ erb_render: mod.render(title, content)
+loop_count: 1500000