YARV: 又一个ruby虚拟机

作者: tech.cap
发布时间:2015-07-13 11:31:36

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的时候能够用上它

    标签: Ruby
    来源:http://www.cnblogs.com/baoz/archive/2006/02/08/2269854.html

    推荐: