YARV: Yet Another Ruby VM

written by SASADA Koichi

What's new?

What's this?

YARV is Virtual Machine for Programming Language Ruby.

The goal of this project is only one, to develop the fastest Virtual Machine for Ruby in the world.

The developer of this project is SASADA Koichi (ko1 at atdot dot net).

Download

Latest revision

Current YARV development is too HOT! Please use latest revision.

0.4.1

Old tarballs

HEAD

You can see Subversion repository via ViewCVS (yarv trunk).

You can checkout yarv repository with Subversion on http://www.atdot.net/svn/yarv/trunk with following command:

svn co http://www.atdot.net/svn/yarv/trunk yarv

License

ruby's.

Some benchmarks are imported from The Great Computer Language Shootout.

How to install?

Requirement

You need Ruby command to build YARV :)

Build and Install

:yarv/: checkout directory :build/: build directory

You need base ruby command. If your ruby command name is not "ruby", please set environment variable "BASENAME" as your ruby command.

$ cd build
$ ../yarv/configure --prefix=[your install dir] --program-suffix=-yarv
$ make [BASERUBY=[your base ruby command]]
$ make test (show some errors around block parameter)
$ make test-all (show 20 or some erros)
$ make install

run benchmarks

run all benchmarks

Run following command.

$ make benchmark

This command runs yarv/benchmark/bm_*.rb.

If you can, please teach your benchmark result with your running environment. If you run on processor other than IA-32, the result is very welcome.

run a specific benchmark

$ make bench-each ITEM=xxx

This command runs yarv/benchmark/bm_xxx.rb benchmark.

YARV Benchmark for each options

You can evaluate each options for optimization.

$ ruby rb/eval.rb build
$ ruby rb/eval.rb eval
$ ruby rb/eval.rb stat

Above commands run all benchmarks for every optimization options.

Documentation and Reference

Wiki

YARVWiki is available.

Bug Tracking System (BTS)

YARV development uses ML based BTS. Please check YARV Bugs Tutorial page.

You can see status of YARV development at YARV Bugs.

Common

in English

in Japanese

Contact

Mailing List

Mailing lists about YARV development are available.

English (yarv-dev-en)

Please send mail to 'yarv-dev-en at quickml dot atdot dot net' with Cc 'ko1 at atdot dot net'. Some contents (greeting or what you want to write) are required. Don't send empty mail (ML system rejects a mail with empty body).

(Please translate mail address with: mailaddr.gsub(/\sdot\s/, '.').gsub(/\sat\s/, '@'))

Mailing List system is QuickML.

(yarv-devel was closed because of spam...)

You can see Mailing list archive with http://www.atdot.net/mla/yarv-dev-en. Please note that all your posts will be publicated on this archive.

Japanese (yarv-dev)

Please send mail to 'yarv-dev at quickml dot atdot dot net' with Cc 'ko1 at atdot dot net'. Some contents are required(don't send empty mail).

(Please translate mail address with: mailaddr.gsub(/\sdot\s/, '.').gsub(/\sat\s/, '@'))

Mailing List system is QuickML.

You can see Mailing list archive with http://www.atdot.net/mla/yarv-dev. Please note that all your posts will be publicated on this archive.

YARV commit mail

If you want to receive commit mail on YARV repository, please join yarv-diff ML. This is also QuickML and ML address is yarv-diff at quickml dot atdot dot net.

You can see Mailing list archive with http://www.atdot.net/mla/yarv-diff. Please note that all your posts will be publicated on this archive.

IRC Channel

I may be in IRCNet#yarv or FreeNode#yarv (nick: ko1_*).

Mail address

My mail address is 'ko1 at atdot dot net'

Thanks

This project is supported by IPA (Information-technology Promotion Agency, Japan) "Exploratory Software Project 2004 (youth)".

History

SASADA Koichi / ko1 at atdot dot net