【问题标题】:"require 'mongoid'" is very slow“需要'mongoid'”非常慢
【发布时间】:2011-08-18 07:51:23
【问题描述】:

在我的 Macbook Air 上打开 irb 并输入 require 'mongoid' 需要超过 5 秒。这是否正常,我该如何加快速度?它大大减慢了我的 Rails 和 Ruby 应用程序的启动速度。

我尝试了 2.0.1 和 2.1.8 版本,结果相同。 Ruby 版本为 ruby​​ 1.9.2p136(2010-12-25 修订版 30365)[x86_64-darwin10.6.0]

谢谢!

【问题讨论】:

  • ruby 1.9.2p136(2010-12-25 修订版 30365)[x86_64-darwin10.6.0]
  • 在我的机器上(ruby 1.9.2p180(2011-02-18 修订版 30909)[x86_64-darwin10.7.0])大约需要 7 秒:S
  • 我会尝试用我找到的东西写一个答案
  • Macbook Air 应该有 SSD 吧?在我的 2010 MacBook Pro w/ SSD(ruby 1.9.2p290(2011-07-09 修订版 32553)[x86_64-darwin11.0.0])上,require 'mongoid' 大约需要 1 秒。
  • @James Chen:我有一台没有 SSD 的 2009 Air。你有哪个版本的mongoid?

标签: ruby mongoid


【解决方案1】:

require 'mongoid'

确实,这似乎是一个需要很长时间的电话。

在我的 MacBook Pro (ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]) 上大约需要 5-7 秒(我在 irb 上测试过)。

请注意,我收到的一条有趣消息是:

**注意:未加载 C 扩展。这是最佳 MongoDB 所必需的 Ruby 驱动程序性能。您可以按如下方式安装扩展:
gem 安装 bson_ext

如果您在安装后继续收到此消息,请确保 bson_ext gem 在您的加载路径中,并且 bson_ext 和 mongo gem 的版本相同。

安装该 gem 不会使 gem 加载更快,但它似乎提高了整体速度。

底线:尝试只在应用程序开始时要求一次。

【讨论】:

  • 感谢您对巴勃罗的调查。我已经有了 bson_ext,它可以加快数据处理但不能加载 gem。如果我找到任何解决方案,我会发布。
猜你喜欢
  • 1970-01-01
  • 2014-03-20
  • 2011-09-10
  • 2015-05-22
  • 1970-01-01
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 2017-12-12
相关资源
最近更新 更多