2010-10-13 48 views
7

Is there an advantage to running JRuby if you don't know any Java?中,如果您只是想比Ruby更好地實現Ruby,那麼人們建議使用JRuby(MRI/YARV)。我有什麼理由不使用JRuby來完成MRI/YARV?

您有什麼理由不使用JRuby?已經被別人提及

的是:

  1. 表現爲短期課程。對於較長的程序,JRuby被描述爲更快,但具有更長的初始化時間。變通辦法討論in this question
  2. C擴展:JRuby支持一些,but not all,用於MRI/YARV的C擴展。併發性是一把雙刃劍。 There's non-thread-safe code out there人們還沒有發現,因爲最流行的實現沒有真正的併發。
  3. JRuby can use more memory
  4. JRuby有decided not to do CRuby的某些事情。這包括continuations(我認爲在CRuby中已棄用)和fork。他們也有不同的本地排序和時間精度。
  5. JRuby doesn't enable ObjectSpace默認情況下。

可能的原因是我有包括:您使用的可能不被設計爲在JRuby下運行

  1. 庫。例如,BioRuby在GitHub上有127個觀察者和60個叉,與JRuby有minor incompatibility
  2. 恐懼,不確定和懷疑使用不太流行的實現。我知道JRuby比CRuby更好地傳遞RubySpec,但RubySpec尚未完成。

是否有任何其他原因您不會使用JRuby?

回答

1

就個人而言,雖然它預裝在Mac上,但我並不總是在我的Linux機器上安裝Java。

另外,RVM在這裏可能應該被稱爲規範多個(8個或更多?)不同的Ruby解釋器的規範方法。

0

JRuby似乎沒有給予$SAFE高優先級。博客帖子是從2007年開始的,但從那以後我還沒有遇到任何變化。

相關問題