主要的Ruby虛擬機有什麼優點/缺點(比如特性,兼容性,性能和怪癖?)我知道還有一些額外的功能,比如能夠通過JRuby使用Java接口。這些也將有所幫助。在這一點上,任何VM都有明顯的優勢,在什麼情況下?Ruby虛擬機之間的差異
回答
我已經使用Matz的Ruby和JRuby,他們解決不同的任務。如果您正在開發一個直接的Ruby或Rails應用程序,那麼這可能就足夠了,但是如果有一些功能強大的Java庫可以提供很多幫助,那麼JRuby可能是值得的。至少就實現核心語言功能(我還沒有遇到任何分歧,但它們可能存在)而言,JRuby似乎相當不錯,至少就實現核心語言功能而言,JRuby似乎相當不錯。
我想分享一個小故事...我正在編寫一個腳本來與DB2數據庫進行交互。 Ruby中的DB2支持很糟糕......您必須安裝整個DB2 Express版本才能編譯Ruby驅動程序,而這些Ruby驅動程序甚至不適合我。我受夠了,轉而使用JDBC和一些小的JDBC JDBC jar來轉換到JRuby。它完美地解決了我的問題。重點?那麼,如果獲得一些Java庫的訪問權限將簡化手頭的問題,那就千萬不要這麼做!
我希望這有幫助!對不起,我沒有與其他虛擬機的經驗....
還有一個警告我看了一下,但我不知道的細節太清楚...... JRuby的,我認爲支持通過Java線程線程,而不是Matz實現中支持的「綠色」線程......所以,如果您想在多核系統上使用多線程,JRuby可能會爲您提供更好的服務......除非您想在C中執行線程操作。
這裏是信息我在主VM上搜索:Ruby MRI,Ruby 1.9 (YARV),JRuby,XRuby,和IronRuby
去年有一個performance benchmark比較了主要的虛擬機,但是虛擬機的發展速度有多快,現在可能不太相關。我相信Ruby 1.9通常是最快的,現在仍然比JRuby更有優勢。
四個虛擬機目前能夠運行Ruby on Rails:Ruby MRI,Ruby 1.9,JRuby和Rubinius。
XRuby像JRuby一樣在JVM上運行,並將Ruby源文件編譯爲Java .class。
IronRuby運行在.NET上,利用它們的DLR,並允許您將Ruby與.NET庫和基礎結構集成。它還不能運行Ruby on Rails。
還有一個名爲HotRuby的虛擬機,可讓您在瀏覽器或Flash中運行Ruby源代碼。
- 1. Ruby虛擬機
- 2. Patran和虛擬實驗室之間的bdf格式差異
- 3. 代理模式和虛擬代理模式之間的差異
- 4. 虛擬= 0之間的C++差異;空功能
- 5. 兩個日期之間的Ruby差異
- 6. send和instance_eval之間的Ruby差異?
- 7. CSV.read()和CSV.new()之間的Ruby差異
- 8. 虛擬機異常
- 9. 兩臺虛擬機之間的通信
- 10. VBA中用於LDAP連接的物理機器/虛擬機之間的速度差異
- 11. 虛擬機經典和虛擬機在天藍色之間有什麼區別?
- 12. 在兩個win2k guest虛擬機之間進行通信虛擬機箱
- 13. 差異虛擬屬性和實例之間的Ruby on Rails的屬性與MySQL後端
- 14. Python:本地安裝和虛擬環境之間的性能顯着差異
- 15. 虛擬機管理程序如何同步主機和虛擬機VM之間的時間?
- 16. Serilog:之間{..} {差異@ ..}
- 17. ruby版本之間隱含的異常類別差異
- 18. Phusion Passenger的Ruby應用虛擬主機
- 19. QEMU主機和guest虛擬機之間的串行通信
- 20. 虛擬主機內的虛擬主機
- 21. 虛擬機中的虛擬機 - 網絡
- 22. 虛擬機間分佈層
- 23. 虛擬機VS.中間件
- 24. /和/ **之間的差異
- 25. 兩次之間的差異
- 26. 差異之間的三個
- 27. PHP之間的差異()和[]
- 28. 行之間的Mysql差異
- 29. 行之間的差異
- 30. '//'和'///'之間的C++差異