LiteSpeed Technologies
Download Download     Blog Blog     Wiki Wiki     Forum Forum     Store     Contact Contact    

How to speed up Rails initialization even more

Litespeed attempts to make starting up very fast, and it does so by initializing the Rails framework in a parent process, then doing the fork. That way, all that disk-scouring to find all the rails files, which takes about 6 seconds of heavy iowait, is only done once.

If you want to speed things up even more you can load your controller files in the environment, rather than on demand. That way, they’ll be pre-loaded for your child processes.

if RAILS_ENV=='production'
require_dependency 'application'
Dir.foreach( "#{RAILS_ROOT}/app/models" ) {|f| $logger.d "r #{f}"; silence_warnings{require_dependency f} if f =~ /\.rb$/}
Dir.foreach( "#{RAILS_ROOT}/app/controllers" ) {|f| $logger.d "r #{f}"; silence_warnings{require_dependency f} if f =~ /\.rb$/}
end

If you’re using engines (I am), you’ll want to throw in your engine directories in there too.

Thanks for fantasydreaming user of our forum contributing this tip.

 
litespeed_wiki/rails/qucik_init.txt · Last modified: 2007/03/24 17:36 by mistwang
 
© Copyright 2003-2011 LiteSpeed Technologies, Inc. All rights reserved. Privacy Policy.