ruby-on-rails - Rake 测试在 Windows 中非常慢

标签 ruby-on-rails windows ruby

为什么 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/

相关文章:

ruby-on-rails - 雷未定义方法 `total_pages'

ruby-on-rails - Rails 3.2.11 - 服务器未启动

windows - 如何将括号发送到由括号包围的管道中?

windows - 在 Windows 上使用带有 for/f 的管道命令(使用 reg 查询)

ruby-on-rails - heroku 中的 wkhtmltopdf : memory issues

ruby-on-rails - 使用 Rails 提交远程表单后,如何将用户重定向到另一个页面?

windows - GotoMeeting 等软件如何捕获桌面图像?

ruby-on-rails - 如何在公共(public)事件中设置收件人ID

ruby - 使用类级元编程保护 Ruby 类免受多重负载

ruby - 删除重复字符的正则表达式