我看过一个介绍 Jruby 的视频,那里的人做了一个测试,在 Jruby 和 Ruby 上创建线程并执行相同的程序。在 Jruby 上速度要快得多,因为在 Ruby 上没有真正的线程:
http://railscasts.com/episodes/376-jruby-basics
有人可以说这是否意味着当我在 Jruby 上使用 Rails 时,我的应用程序也会更快,并且这是一个常见场景还是仅在我使用线程时?
另外,由于 Jruby 和 ruby 有相同的 gem,它们之间有什么巨大的区别 - 我的意思是,如果在 Jruby 中你可以使用线程,那么使用它们重写整个 gem 会更实用吗?
Could anyone say if this mean that when I am using rails on Jruby
my app will be more faster too and will be this a common scenario or just when I am using threads?
是的,您的应用程序在任何情况下都会更快,而且现在 Java 7 带来了很多性能更新。如果您使用 JRuby 并从 Java 6 迁移到 Java 7,您应该会看到性能改进。请记住,您的 JRuby 在 JVM 上运行。
Also, as there are same gems for Jruby and ruby, is there any huge difference between them - I mean if in Jruby you can use threads it will be more practical to rewrite the whole gem using them?
关于 gems 以及它们如何构建它们,我不太确定,但我认为即使可以,也不是所有东西都应该使用 thead 开发,但这就是我的观点。
这完全取决于您的项目需求,但 JRUBY 比 Ruby 慢,除非您可以将所有代码转换为 BYTE 代码,但某些场景(例如线程)JRUBY 有更多优点,最常见的缺点是 JRUBY 的支持比 RUBY 少。