Rails 4 fork
Because loading gems can take longer than you think
$ curl -fsSL https://gist.github.com/raw/6121664/benchmark.rb | ruby
............................................................[DONE]
Gem Time(sec) Pct %
--------------------------------------------------
rails 2.4161 26.9%
mongoid 0.9279 10.3%
fog 0.7707 8.6%
newrelic_rpm 0.5839 6.5%
geocoder 0.3578 4.0%
delayed_job 0.3162 3.5%
bitly 0.2703 3.0%
sass 0.2651 3.0%
tire 0.2592 2.9%
--------------------------------------------------
Total 4.8583 100.0%
Forked from this awesome gist by Pan Thomakos
curl -fsSL https://gist.github.com/raw/6121664/benchmark.rb | ruby
To only require certain groups - like Rails does - do
# default rails development groups
curl -fsSL https://gist.github.com/raw/6121664/benchmark.rb | \
BUNDLE_GROUPS=default,development,assets ruby
Read this article
http://iain.nl/getting-the-most-out-of-bundler-groups
I was able to reduce gem load time from 12.1 seconds to 6.7 seconds - over 5 seconds!
Here's what I did:
-
Added :console group like the article above suggested
-
Commented out
ruby-prof
,oink
, anddebugger
when not in use -
Moved
newrelic_rpm
andturbo-sprockets-rails3
to :staging, :production groups -
Removed unused gems
script/rails console # or server, etc
is faster than
bundle exec rails console
Try it yourself