为什么 Ruby 和 Ruby on Rails(1.8.6 One Click Installer,本地数据库)在 Windows 上这么慢?
- ruby 脚本/服务器 - 30 秒
- rake 式测试 - 45 秒
- 等等
然而,当我跳转到一个慢得多的 Linux 机器时,它几乎是瞬间的。我检查了所有内容 - 没有重要的 CPU 进程在运行,没有网络问题......等等。
哎呀,只要有一个冗长的输出至少能告诉我哪里出了问题,我就会很高兴。有什么建议吗?
最佳答案
一般来说,Ruby 的 MRI 解释器并未针对 Windows 上的速度进行优化。您也可能在 Windows 上以开发模式运行它,而在其他机器上以生产模式运行它。 Rails 在开发模式下运行速度要慢得多,因为它会在每次请求时重新加载所有类。
1.8.6 是一个非常古老的 ruby 版本。大约 3 年前发布。您应该强烈考虑升级到 1.9(或至少 1.8.7)。或者切换到 JRuby。所有这些选项都可能会带来显着的性能提升。
1.8.7 应该与 1.8.6 完全兼容。 1.9 有一个全新的解释器,运行速度提高了 2.5 倍(尽管它偶尔会在 Windows 上崩溃)。 JRuby 可能是您的理想解决方案,因为您可以在兼容 1.8 或 1.9 的情况下运行它,而且它非常稳定,但它不支持带有 C 扩展的 gem,并且需要不同的数据库适配器。
最后一个选择是尝试在带有 CentOS 或其他 Linux 发行版的 VMWare 中运行 Rails。
关于ruby-on-rails - Rake 测试在 Windows 中非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391387/