public
Description: A set of Ruby benchmarks for testing Ruby implementations.
Homepage: http://groups.google.com/group/ruby-benchmark-suite
Clone URL: git://github.com/acangiano/ruby-benchmark-suite.git
rdp (author)
Thu Oct 29 12:17:06 -0700 2009
commit  d807eea7f7b2f38240bc177a0c22e599081882ea
tree    2e73977b7dc49a1db413bbec4477fbb689e33213
parent  a480570b879cbfcb6c0bfb32749708e0248910b1
100644 45 lines (30 sloc) 2.313 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
The Ruby Benchmark Suite is a 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=benchmarks/micro-benchmarks/bm_app_tak.rb
  rake bench:dir DIR=benchmarks/micro-benchmarks
  rake bench:to_csv
 
The results are generated within the results/ folder (automatically created for you). Running rake bench:to_csv creates a CSV spreadsheet out of them. This is quite handy for comparing your results over time.
 
The following example runs demonstrates all possible options -- '/bin/ruby_special' as the VM, 3 iterations instead of the default (i.e., 5), 5 second timeout (per script) instead of the default 300s, and outputs all messages instead of swallowing them (the default). METER_MEMORY defaults to yes, change it to anything else to disable it (it requires slightly extra processing).
 
  rake VM=/bin/ruby_special ITERATIONS=3 TIMEOUT=5 VERBOSE=1 METER_MEMORY=yes
 
DIRECTORY STRUCTURE
===================
  deprecated - contains the old, deprecated version of the suite and recently deprecated tests
  benchmarks - contains the benchmarks themselves
  utils - contains the infrastructure necessary to run the benchmarks
 
See utils/README for more details.
    
Additional output formatters are welcome. For example, a :to_wiki would be very convenient to place the results directly in Confluence or similar Wiki software.
 
NOTES
=====
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"
 
HELP
=====
There is a mailing list at http://groups.google.com/group/ruby-benchmark-suite