From: Mauricio Fernandez Date: 2007-02-06T18:57:45+09:00 Subject: Re: Multiple "require" calls -> app slow to start On Tue, Feb 06, 2007 at 05:10:58PM +0900, Philippe Lang wrote: > More and more files are being added to my client ruby application, and > it is getting quite slow to start, even on a fast machine. It takes > about 15 seconds in some cases. > > The problem is with the call to "require" for the application > "workspace" object. This "require" points to files which in turn call > "require" for other files, and so on. > > Is there a way to speed up the application load time maybe? Are you loading files managed by RubyGems? RubyGems' #require implementation is known to be very slow. Things playing against you include: * required files from many different gems * lots of installed gems You can try to uninstall some gems (for instance unused, old versions), or hardcode the require paths: prefix = "/usr/local" %w[foo-0.1.1/lib bar-0.1/lib].each do |dir| $:.unshift "#{prefix}/lib/ruby/gems/1.8/gems/#{dir}" end Another thing that can help (in general, not only when you're using RubyGems) is lazy loading using Kernel#autoload. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby