YARV
开发者 | 笹田耕一 |
---|---|
编程语言 | C[1] |
类型 | Ruby虚拟机器 |
许可协议 | |
网站 | www |
YARV是“Ruby程序语言”的一个字节码解译器,它是由笹田耕一领导的。YARV这个名称是“Yet another Ruby VM”(又一个Ruby虚拟机器)的首字母缩写。这个项目的目标是大幅度地减少Ruby程序的运行时间。
在YARV成为Ruby 1.9的官方解译器后,人们也称它为KRI(Koichi's Ruby Interpreter,Koichi的Ruby解译器)。
性能
由rubychan.de给出的评分,可以看到YARV有著大幅的性能提升。[2] 而Antonio Cangiano 给出的评分显示,平均起来YARV比原来的解译器要快3倍。[3] 两个评分给出的都是综合性的结果。
据报导,在YARV上执行的Ruby on Rails 比在1.8.6上执行要快15%[4]。然而,启动和ActiveRecord功能反而变慢了。
历史
在2007年1月1日,YARV首次出现在Ruby下个版本的CVS库之中。[5] 后来,Ruby的创造者松本行弘把YARV完全放入Ruby 1.9.0(于2007年12月26日发布)[6] 。从这个版本起,YARV成为了官方的Ruby解释器,取代原本由松本行弘制作的版本。
另见
引用
- ^ Sasada, Koichi. YARV: Yet Another RubyVM (PDF). atdot.net. [2013-08-18]. (原始内容 (PDF)存档于2020-09-25).
- ^ Benchmarks: Ruby 1.8 and Ruby 1.9 (页面存档备份,存于互联网档案馆) (rubychan.de)
- ^ Cangiano, Antonio. The Great Ruby Shootout. 2007-03-12 [2008-02-01]. (原始内容存档于2012-02-23).
- ^ Rails on 1.9: first benchmarks, YARV exposed to non-synthetic tests. eigenclass.org. 2007-03-28 [2008-09-13]. (原始内容存档于2008-12-18).
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.
- ^ The Ruby VM: Episode I Archive.is的存档,存档日期2012-05-26 - Shades of Gray
- ^ merge YARV (页面存档备份,存于互联网档案馆) announcement by Koichi Sasada
外部链接
- YARV home page (页面存档备份,存于互联网档案馆) Note: obsolete now that YARV is merged into Ruby
- YARV: Yet Another RubyVM ... on Rails? (页面存档备份,存于互联网档案馆) - Koichi Sasada's RubyConf 2006 presentation
- The Great Ruby Shootout (December 2008) (页面存档备份,存于互联网档案馆) - Ruby 1.9.1 (YARV) versus other Ruby VMs
- YARV in The Computer Language Benchmarks Game - Ruby 1.9.0(YARV) versus Ruby 1.8.6
- YARV in The Computer Language Benchmarks Game - Ruby 1.9.1 versus Ruby 1.8.7