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 @ 2006-02-08 12:00  tech.cap  阅读(492)  评论(0)    收藏  举报