在Is there an advantage to running JRuby if you don't know any Java?中,如果您只是想比Ruby更好地實現Ruby,那麼人們建議使用JRuby(MRI/YARV)。我有什麼理由不使用JRuby來完成MRI/YARV?
您有什麼理由不使用JRuby?已經被別人提及
的是:
- 表現爲短期課程。對於較長的程序,JRuby被描述爲更快,但具有更長的初始化時間。變通辦法討論in this question。
- C擴展:JRuby支持一些,but not all,用於MRI/YARV的C擴展。併發性是一把雙刃劍。 There's non-thread-safe code out there人們還沒有發現,因爲最流行的實現沒有真正的併發。
- JRuby can use more memory。
- JRuby有decided not to do CRuby的某些事情。這包括continuations(我認爲在CRuby中已棄用)和fork。他們也有不同的本地排序和時間精度。
- JRuby doesn't enable ObjectSpace默認情況下。
可能的原因是我有包括:您使用的可能不被設計爲在JRuby下運行
- 庫。例如,BioRuby在GitHub上有127個觀察者和60個叉,與JRuby有minor incompatibility。
- 恐懼,不確定和懷疑使用不太流行的實現。我知道JRuby比CRuby更好地傳遞RubySpec,但RubySpec尚未完成。
是否有任何其他原因您不會使用JRuby?