Slide 1

Slide 1 text

Slide 2

Slide 2 text

install update, lock exec ✅ ✅ ✅ ✅ ✅ ✅ gem authoring ✅ ❌ vendoring ✅ ❌ ✅ ❌ anything else

Slide 3

Slide 3 text

Documentation UI and error messages Platform compatibility

Slide 4

Slide 4 text

bundle install bundle lock bundle exec rake bundle update bundle update rails gel install gel lock gel exec rake rake gel update gel update rails

Slide 5

Slide 5 text

~% rake -V rake, version 12.3.2 ~% rake -V rake, version 12.3.2 ~/proj% bundle exec rake -V rake, version 12.3.0 ~/proj% gel exec rake -V rake, version 12.3.0 ~/proj% rake -V rake, version 12.3.2 ~/proj% rake -V rake, version 12.3.0

Slide 6

Slide 6 text

Numbers ⏱

Slide 7

Slide 7 text

exec

Slide 8

Slide 8 text

% rake --version rake, version 12.3.2 0.18s user 0.10s system 92% cpu 0.301 total % rake --version rake, version 12.3.2 0.12s user 0.08s system 92% cpu 0.217 total rubygems gel manual 0 0.1 0.2 0.3 0.4

Slide 9

Slide 9 text

% bundle exec rake --version rake, version 12.3.0 0.49s user 0.18s system 93% cpu 0.712 total % gel exec rake --version rake, version 12.3.0 0.18s user 0.11s system 88% cpu 0.323 total bundler gel manual 0 0.2 0.4 0.6 0.8

Slide 10

Slide 10 text

% bundle exec rails --version Rails 5.2.2.1 0.97s user 0.34s system 98% cpu 1.335 total % gel exec rails --version Rails 5.2.2.1 0.36s user 0.16s system 96% cpu 0.538 total bundler gel 0 0.35 0.7 1.05 1.4

Slide 11

Slide 11 text

% bundle exec rails runner nil 6.08s user 3.00s system 99% cpu 9.139 total % gel exec rails runner nil 4.01s user 0.94s system 98% cpu 4.994 total bundler gel 0 2.5 5 7.5 10

Slide 12

Slide 12 text

install

Slide 13

Slide 13 text

~/buildkite% bundle install -j4 123 Gemfile dependencies, 224 gems now installed. 215.19s user 74.12s system 83% cpu 5:46.91 total ~/buildkite% gel install Installed 223 gems 255.75s user 74.45s system 208% cpu 2:38.29 total bundler gel 0 100 200 300 400

Slide 14

Slide 14 text

source "https://rubygems.org" gem "tty"

Slide 15

Slide 15 text

GEM remote: https://rubygems.org/ specs: diff-lcs (1.3) equatable (0.5.0) kramdown (1.16.2) necromancer (0.4.0) pastel (0.7.2) equatable (~> 0.5.0) tty-color (~> 0.4.0) rouge (3.3.0) strings (0.1.5) strings-ansi (~> 0.1) unicode-display_width (~> 1.5) unicode_utils (~> 1.4) strings-ansi (0.1.0) thor (0.20.3) timers (4.3.0) tty (0.9.1) bundler (~> 1.16, < 2.0) equatable (~> 0.5) pastel (~> 0.7.2) thor (~> 0.20.0) tty-box (~> 0.3.0) tty-color (~> 0.4) tty-command (~> 0.8.0) tty-config (~> 0.3.0) tty-cursor (~> 0.6) tty-editor (~> 0.5.0) tty-file (~> 0.7.0) tty-font (~> 0.2.0) tty-markdown (~> 0.5.0) tty-pager (~> 0.12.0) tty-pie (~> 0.1.0) tty-platform (~> 0.2.0) tty-progressbar (~> 0.16.0) tty-prompt (~> 0.18.0) tty-screen (~> 0.6) tty-spinner (~> 0.9.0) tty-table (~> 0.10.0) tty-tree (~> 0.2.0) tty-which (~> 0.4) tty-box (0.3.0) pastel (~> 0.7.2) strings (~> 0.1.4) tty-cursor (~> 0.6.0) tty-color (0.4.3) tty-command (0.8.2) pastel (~> 0.7.0) tty-config (0.3.1) tty-cursor (0.6.1) tty-editor (0.5.0) tty-prompt (~> 0.18) tty-which (~> 0.4) tty-file (0.7.0) diff-lcs (~> 1.3) pastel (~> 0.7.2) tty-prompt (~> 0.18) tty-font (0.2.0) tty-markdown (0.5.1) kramdown (~> 1.16.2) pastel (~> 0.7.2) rouge (~> 3.3) strings (~> 0.1.4) tty-color (~> 0.4) tty-screen (~> 0.6) tty-pager (0.12.1) strings (~> 0.1.4) tty-screen (~> 0.6) tty-which (~> 0.4) tty-pie (0.1.0) pastel (~> 0.7.2) tty-cursor (~> 0.6.0) tty-platform (0.2.0) tty-progressbar (0.16.0) strings-ansi (~> 0.1.0) tty-cursor (~> 0.6.0) tty-screen (~> 0.6.4) unicode-display_width (~> 1.3) tty-prompt (0.18.1) necromancer (~> 0.4.0) pastel (~> 0.7.0) timers (~> 4.0) tty-cursor (~> 0.6.0) tty-reader (~> 0.5.0) tty-reader (0.5.0) tty-cursor (~> 0.6.0) tty-screen (~> 0.6.4) wisper (~> 2.0.0) tty-screen (0.6.5) tty-spinner (0.9.0) tty-cursor (~> 0.6.0) tty-table (0.10.0) equatable (~> 0.5.0) necromancer (~> 0.4.0) pastel (~> 0.7.2) strings (~> 0.1.0) tty-screen (~> 0.6.4) tty-tree (0.2.0) tty-which (0.4.0) unicode-display_width (1.5.0) unicode_utils (1.4.0) wisper (2.0.0) PLATFORMS ruby DEPENDENCIES tty BUNDLED WITH 1.17.1

Slide 16

Slide 16 text

~/tty% bundle install -j4 1 Gemfile dependency, 23 gems now installed. 2.61s user 1.02s system 83% cpu 4.352 total ~/tty% gel install Installed 23 gems 0.62s user 0.53s system 87% cpu 1.327 total bundler gel 0 1.25 2.5 3.75 5

Slide 17

Slide 17 text

lock

Slide 18

Slide 18 text

Gemfile Gemfile.lock install ⬇

Slide 19

Slide 19 text

~/tty% bundle lock 1.10s user 0.32s system 90% cpu 1.562 total ~/tty% gel lock 0.75s user 0.13s system 85% cpu 1.032 total bundler gel 0 0.4 0.8 1.2 1.6

Slide 20

Slide 20 text

buildkite% rm Gemfile.lock && bundle lock Fetching https://github.com/buildkite/zxcvbn-ruby.git Fetching https://github.com/buildkite/pghero.git Fetching https://github.com/buildkite/simplecov.git Fetching https://github.com/ticky/simplecov-buildkite.git Fetching source index from https://gems.graphql.pro/ Fetching source index from https://enterprise.contribsys.com/ Fetching gem metadata from https://rubygems.org/. Fetching source index from https://rubygems.org/ Resolving dependencies... Writing lockfile to ./Gemfile.lock bundle lock 14.30s user 1.98s system 18% cpu 1:29.67 total ........ ...................

Slide 21

Slide 21 text

buildkite% rm Gemfile.lock && gel lock Fetching sources... Resolving dependencies... Writing lockfile to ./Gemfile.lock gel lock 2.77s user 0.60s system 78% cpu 4.316 total ....... ..........

Slide 22

Slide 22 text

~/buildkite% bundle lock 14.30s user 1.98s system 18% cpu 1:29.67 total ~/buildkite% gel lock 2.77s user 0.60s system 78% cpu 4.316 total bundler gel 0 30 60 90 120

Slide 23

Slide 23 text

~/buildkite% bundle lock 14.66s user 2.10s system 15% cpu 1:51.15 total ~/buildkite% gel lock 9.42s user 1.99s system 46% cpu 24.400 total bundler gel 0 30 60 90 120 (no cache / first run)

Slide 24

Slide 24 text

source "https://rubygems.org" gem "activerecord" gem "quiet_assets"

Slide 25

Slide 25 text

quiet_assets railties >= 3.1, < 5.0 activesupport >= 3.1, < 5.0 activerecord activesupport quiet_assets 1.1.0 railties 4.2.11.1 activesupport 4.2.11.1 activerecord 4.2.11.1

Slide 26

Slide 26 text

~/quiet% bundle lock 120.18s user 1.10s system 99% cpu 2:02.42 total ~/quiet% gel lock 4.18s user 0.17s system 96% cpu 4.494 total bundler gel 0 35 70 105 140