YARV

From Wikipedia, the free encyclopedia

Jump to: navigation, search
YARV
Developed by Koichi Sasada
Type Ruby Virtual Machine
Website http://www.atdot.net/yarv/

YARV is a bytecode interpreter that was developed for the Ruby programming language by Koichi Sasada. The name is an acronym for Yet another Ruby VM. The goal of the project was to greatly reduce the execution time of Ruby programs.

Since YARV has become the official Ruby interpreter for Ruby 1.9, it is also named KRI as Koichi's Ruby Interpreter.

Contents

[edit] Performance

Benchmarks by rubychan.de showed significant increases in performance.[1] Benchmarks by Antonio Cangiano showed an average four times speed improvement over the existing interpreter[2]. Both evaluations comprised a mix of mostly synthetic benchmarks.

Ruby on Rails was reported to run about 15% faster with YARV compared to Ruby 1.8.6[3]. However, startup time and ActiveRecord use are still slower.

[edit] History

On January 1, 2007, YARV was merged into the Ruby Subversion repository.[4]

Ruby creator Yukihiro Matsumoto fully merged YARV into the Ruby 1.9.0 version which was released December 26, 2007.[5] From this point onwards YARV became the official Ruby interpreter, replacing the one developed by Matsumoto.

[edit] See also

[edit] References

  1. ^ Benchmarks: Ruby 1.8 and Ruby 1.9 (rubychan.de)
  2. ^ Cangiano, Antonio (2007-03-12). "The Great Ruby Shootout". http://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/. Retrieved on 2008-02-01. 
  3. ^ "Rails on 1.9: first benchmarks, YARV exposed to non-synthetic tests". eigenclass.org. 2007-03-28. http://eigenclass.org/hiki/non-synthetic-benchmarks-for-yarv. Retrieved on 2008-09-13. "When benchmarking basic requests with a minimalistic schema (only one int column), even though YARV serviced requests 15% faster, it took much longer to load the environment (50% slower). This comes as no surprise since plain old (evil) eval is slower in YARV(...)In fact, the mere fact of requiring active_record (and indirectly ActiveSupport) causes a sharp decrease in performance." 
  4. ^ The Ruby VM: Episode I - Shades of Gray
  5. ^ merge YARV announcement by Koichi Sasada

[edit] External links


Personal tools