Question

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)?

Was it helpful?

Solution 2

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

OTHER TIPS

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 ;..(

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top