acangiano / ruby-benchmark-suite

A set of Ruby benchmarks for testing Ruby implementations.

This URL has Read+Write access

acangiano (author)
Mon Apr 13 23:10:52 -0700 2009
commit  219fe6941ac57035b8194cec3b36f028992af3aa
tree    c728cc75f1003313df3a886fc6424baabfe89ab0
parent  0ab31a753961017c2c790ab48cd4bf2f81711f4a
README
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/core-features/bm_app_tak.rb
  rake bench:dir DIR=/rbs/core-features
  rake bench:to_csv

The :to_csv task creates a .csv spreadsheet of the results. Quite handy for comparing your results over time.

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"

The current version relies on a bash script and as such it requires Cygwin to work on Windows. We are working to 
eliminate this requirement.