开发者

Extremely slow bundler 1.0.3 (Bundler.require) with around 100 gems in Rails 3.0.1 and Ruby 1.9.2

开发者 https://www.devze.com 2023-01-22 00:51 出处:网络
I am using Rails 3.0.1, Bundler 1.0.3 and Ruby 1.9.2p0 (2010-08-18 revision 29036). Everything was fine and fast until I started adding Devise & Omniauth. From that on everything involving initial

I am using Rails 3.0.1, Bundler 1.0.3 and Ruby 1.9.2p0 (2010-08-18 revision 29036). Everything was fine and fast until I started adding Devise & Omniauth. From that on everything involving initializing Bundler (calling Bundler.require as in application.rb) took ages (by means of 30-50 seconds which is a 开发者_如何转开发lot for e.g. calling 'rake routes').

The time is lost in 'config/application.rb':

Bundler.require(:default, Rails.env) if defined?(Bundler)

I tried to disable / enable gems (like the ones I added last or all test-related gems) but it seems as if it is an issue involving a barrier of the amount of total gems rather than any specific coding problems in certain gems.

For final testing I created a fresh Rails 3.0.1 Project with a new RVM gemset and added the gems one by one. Still the same at around 30-50 gems (which is not unusual for large projects and has never before been an issue).

Any ideas (besides: decreasing your gem count)?


Same problem. Adding gems appropriate increase bootup environment time by bundler. I havn't resolved this issue yet. It is about 20 seconds overhead before specs will run. It makes me crazy ;..(


The best I've come up is to utilize spork. It works great and makes up for the slow startup. Spork starts up a DRB Server to which rspec / cucumber can connect and use preloaded ruby processes to run the tests. It reloads certain files (Tests, Classes, ...) for each run, so it is almost as fresh as a new process.

https://github.com/timcharper/spork

0

精彩评论

暂无评论...
验证码 换一张
取 消