0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Because loading gems can take longer than you think
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.3
>= 0
 Project Readme

Bundle Benchmark

💎 Because loading gems can take longer than you think

bundle_benchmark
............................................................[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

Installation

gem install bundle_benchmark

No need to add it to your Gemfile.

Use It

In your project directory, run:

bundle_benchmark

To benchmark a specific Gemfile, run:

BUNDLE_GEMFILE=~/Projects/project_n/Gemfile bundle_benchmark

To only require certain groups - like Rails does - do

# default rails development groups
BUNDLE_GROUPS=default,development,assets bundle_benchmark

Now What?

Read this article

https://iain.nl/getting-the-most-out-of-bundler-groups

The Results

I was able to reduce gem load time from 12.1 seconds to 6.7 seconds - over 5 seconds!

Here’s what I did:

  1. Added :console group like the article above suggested

  2. Commented out ruby-prof, oink, and debugger when not in use

  3. Moved newrelic_rpm and turbo-sprockets-rails3 to :staging, :production groups

  4. Removed unused gems

Bonus

bin/rails console # or server, etc

is faster than

bundle exec rails console

Try it yourself