tech.cap

我在一望无际的路上

YARV: 又一个ruby虚拟机

YARV 的全名是 Yet Another Ruby VM, 由日本人SASADA Koichi 另外实现的ruby虚拟机

目前ruby的虚拟机是通过AST(abstract syntax tree) 来完成的,它的速度比较慢, 只能作一般纯脚本的解释工作, YARV的出现就是为了解决这个问题, 它是基于Stack VM来完成.主要的目的就是给ruby脚本提速

下面的图片显示了使用YARV相对普通ruby虚拟机的速度提升率,YARV采用了多种方式来优化ruby的执行速度,列表如下

  • Base: only Base VM
  • DTC: Direct Threaded Code
  • SI: Specialized Instruction
  • OU: Operands Unification
  • IU: Instructions Unification
  • IMC: In-line Method Cache
  • SC: Stack Caching
  • speed.JPG

    从图表可以看到, YARV的速度提升是相当惊人的, 最快可以提升接近25倍

    当前YARV的版本还只是0.3.3,离实际运用还差很多, 希望ruby2.0的时候能够用上它

    posted on 2006-02-08 12:00 tech.cap 阅读(940) 评论(4)  编辑  收藏 所属分类: ruby

    Feedback

    # re: YARV: 又一个ruby虚拟机 2006-02-13 01:20 piggy

    干吗说“又”呢?好像就只有一个阿。  回复  更多评论   

    # re: YARV: 又一个ruby虚拟机 2006-02-13 10:11 tech.cap

    内置的算一个
    parrot 还算一个
      回复  更多评论   

    # re: YARV: 又一个ruby虚拟机 2006-02-21 07:25 piggy

    parrot上可以跑ruby啦?  回复  更多评论   

    # re: YARV: 又一个ruby虚拟机 2006-02-21 10:07 tech.cap

    现在不能, 但是有这个计划的说, 计划就是支持多种script了
      回复  更多评论   



    标题  
    姓名  
    主页
    验证码 *  
    内容(请不要发表任何与政治相关的内容)  
      登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
    该文被作者在 2006-02-08 13:34 编辑过
     
     
    相关链接:
    网站导航: