主要的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. 虚拟= 0之间的C++差异;空功能
- 4. 两个日期之间的Ruby差异
- 5. 虚拟机异常
- 6. VBA中用于LDAP连接的物理机器/虚拟机之间的速度差异
- 7. Python:本地安装和虚拟环境之间的性能显着差异
- 8. 虚拟机管理程序如何同步主机和虚拟机VM之间的时间?
- 9. ruby版本之间隐含的异常类别差异
- 10. QEMU主机和guest虚拟机之间的串行通信
- 11. 虚拟机间分布层
- 12. 虚拟机VS.中间件
- 13. SQL:行之间的差异
- 14. 2天之间的差异
- 15. 差异之间的三个
- 16. ZREMRANGEBYRANK ZREMRANGEBYSCORE之间的差异
- 17. 日期之间的差异
- 18. 数据之间的差异
- 19. 行之间的Mysql差异
- 20. VBA:&和+之间的差异
- 21. 行之间的差异
- 22. 日期之间的差异
- 23. 之间的差异和::: ++
- 24. 两次之间的差异
- 25. sqlite行之间的差异
- 26. 模拟器的SD卡和真实手机的SD卡之间的差异
- 27. 如何访问安装在虚拟机之外的Azure虚拟机(虚拟机角色)上的sql server?
- 28. 如何在虚拟机和主机之间共享数据?
- 29. kvm中的两个虚拟机之间的Ping
- 30. 列之间的SQL差异以及列与NULL值之间的SQL差异