From 8b0158671b8b2b1ca70aa253ec3bd92f28d71cb2 Mon Sep 17 00:00:00 2001 From: k0kubun Date: Sun, 8 Jul 2018 18:08:26 +0000 Subject: benchmark/README.md: [ci skip] write documentation about this directory benchmark/driver.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- benchmark/README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 benchmark/README.md (limited to 'benchmark/README.md') diff --git a/benchmark/README.md b/benchmark/README.md new file mode 100644 index 0000000000..1065fcae2f --- /dev/null +++ b/benchmark/README.md @@ -0,0 +1,49 @@ +# ruby/benchmark + +This directory has benchmark definitions to be run with +[benchmark\_driver.gem](https://github.com/benchmark-driver/benchmark-driver). + +## Normal usage + +Execute `gem install benchmark-driver` and run a command like: + +```console +# Run a benchmark script with the ruby in the $PATH +benchmark-driver benchmark/erb_render.yml + +# Run all benchmark scripts with multiple Ruby executables or options +benchmark-driver benchmark/*.yml -e /path/to/ruby -e '/path/to/ruby,--jit' + +# Or compare Ruby versions managed by rbenv +benchmark-driver benchmark/*.yml --rbenv '2.5.1;2.6.0-preview2,--jit' +``` + +## make benchmark + +Using `make benchmark`, `make update-benchmark-driver` automatically downloads +the supported version of benchmark-driver, and it runs benchmarks with the downloaded +benchmark-driver. + +```console +# Run all benchmarks with the ruby in the $PATH and the built ruby +make benchmark + +# Or compare with specific ruby binary +make benchmark COMPARE_RUBY="/path/to/ruby --jit" + +# You can specify any option via $OPTS +make benchmark OPTS="--help" +``` + +## make benchmark-each + +`make benchmark-each` is similar to `make benchmark`, but it allows to execute +some specific benchmarks. + +```console +# Run vm1 benchmarks +make benchmark-each ITEM=vm1 + +# Match erb but exclude app_erb to run only erb_render +make benchmark-each ITEM=erb OPTS="--exclude=app_erb" +``` -- cgit v1.2.3