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
从图表可以看到, YARV的速度提升是相当惊人的, 最快可以提升接近25倍
当前YARV的版本还只是0.3.3,离实际运用还差很多, 希望ruby2.0的时候能够用上它