Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

44 lines (32 sloc) 2.164 kB
The Ruby Benchmark Suite is a benchmark suite for measuring the performance of Ruby implementations, including micro-benchmarks that focus on core Ruby functionalities, as well as macro-benchmarks that represent a variety of real, common workloads. The project is aimed at providing a useful suite for comparing the performance of the available Ruby implementations and, as a positive side effect, to give VM implementers an additional tool to measure and identity performance related issues.
GETTING THE SUITE
=================
To obtain the suite, simply run:
git clone git://github.com/acangiano/ruby-benchmark-suite.git
RUNNING THE SUITE
=================
Benchmarks are run using rake. Type "rake -T bench" to see options.
Examples:
rake bench
rake bench:file FILE=rbs/micro-benchmarks/bm_app_tak.rb
rake bench:dir DIR=rbs/micro-benchmarks
rake bench:to_csv
The :to_csv task creates a .csv spreadsheet of the results. Quite handy for comparing your results over time.
rake bench:pattern PATTERN=rbs/micro-benchmarks/bm_gc*
rake VM=/bin/ruby_special ITERATIONS=3 TIMEOUT=5 VERBOSE=1
This example runs '/bin/ruby_special' as the VM, 3 iterations instead of the default (5), 5 second timeout (per script) instead of the default 300s, and outputs all messages instead of swallowing them (the default).
DIRECTORY STRUCTURE
===================
deprecated_rbs - contains the old, deprecated version of the suite
rbs - contains the benchmarks themselves
utils - contains the infrastructure necessary to run the benchmarks
See utils/README for more detail.
Additional output formatters are welcome. For example, a :to_wiki would be very convenient to place the results directly in Confluence or a similar Wiki software.
NOTES
=====
You'll probably want to copy rakelib/bench.rake and modify some filenames and locations to suit your needs.
If you want to run a different implementation set the environment variable VM to point to a ruby executable or change this line in rakelib/bench.rake:
VM = ENV['VM'] || "ruby"
GROUP
=====
There is a mailing list at http://groups.google.com/group/ruby-benchmark-suite
Jump to Line
Something went wrong with that request. Please try again.