新人关于Ruby的2个问题

  1. Ruby没有Embedded版本么?类似Java有ME那样。

  2. 现在最快的RubyVM是不是1.9.1版?Ruby是不是还有实现JIT,类似Java那样?

谢谢了先

Ruby有被移植到一些嵌入式平台上,例如[url=http://ruby-symbian.rubyforge.org/]Ruby for Symbian[/code]。JRuby以后将有希望在Java ME的CDC profile上运行:[url=http://blog.headius.com/2009/02/jruby-on-java-me.html]Charles O. Nutter: JRuby on Java ME[/code]。目前JRuby可以有限的在Google Android上运行:[url=http://blog.headius.com/2009/02/domo-arigato-mr-ruboto.html]Charles O. Nutter: Domo Arigato, Mr. Ruboto[/code]

现在Ruby最快的VM恐怕还是JRuby……吧?至少Charles总是这么标榜的。看不同的使用场景吧。CRuby的话最快的是1.9.1。MacRuby也是基于CRuby 1.9的,只是底下的运行时换成了Objective-C的那套。传闻中MegLev很快,但它还没任何一个版本发布出来,所以没人知道到底怎样。IronRuby现在还不太行。Rubinius现在比较慢。

JRuby算是有JIT吧。他们当前是当某个方法被调用超过50次之后就会把那个方法JIT成Java字节码。当然JVM自己又有自己的JIT咯。
Rubinius逐渐应用上LLVM之后或许也有带有JIT。
IronRuby在编译模式下是会先把代码编译为MSIL再交由底下的CLR执行的。也算是JIT吧,跟JRuby的性质相似。
官方的Ruby 1.9目前还没有JIT……源码编译为字节码之后解释执行。

赞一下,学习到了

lss的火星了吧,官方Ruby已经有JIT了,比JRuby快,(请google YARV),