Skip to content

Instantly share code, notes, and snippets.

@juno
Last active November 17, 2015 13:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juno/175a06296734616907dd to your computer and use it in GitHub Desktop.
Save juno/175a06296734616907dd to your computer and use it in GitHub Desktop.
carrierwave master (unreleased) reduced memory footprint.

Tool:

Environment:

  • Ruby 2.2.3
  • Rails 4.2.5

carrierwave 0.10.0

Gemfile:

gem 'carrierwave', '0.10.0'

Memory used at Require time:

$ bundle exec derailed bundle:mem
TOP: 85.1094 MiB
  carrierwave: 20.2031 MiB
    carrierwave/storage: 10.5234 MiB
      fog: 10.3359 MiB (Also required by: carrierwave/storage/fog)
        fog/joyent: 2.1836 MiB
          fog/joyent/compute: 2.1641 MiB
            net/ssh: 2.0508 MiB
              net/ssh/transport/session: 0.9492 MiB
                net/ssh/transport/algorithms: 0.7148 MiB
              net/ssh/connection/session: 0.6523 MiB
              net/ssh/authentication/session: 0.3633 MiB
        fog/rackspace: 1.8203 MiB
          fog/rackspace/auto_scale: 0.4102 MiB
            fog/rackspace/core: 0.3281 MiB (Also required by: fog/rackspace/block_storage, fog/rackspace/cdn, and 13 others)
        fog/openstack: 1.4102 MiB
          fog/openstack/compute: 0.375 MiB
        fog/vcloud_director: 1.0469 MiB
          fog/vcloud_director/compute: 1.0234 MiB
            fog/vcloud_director/query: 0.4336 MiB
              pp: 0.4023 MiB
    carrierwave/sanitized_file: 7.9258 MiB
      mime/types: 7.9258 MiB (Also required by: mime/types/columnar)
    carrierwave/uploader: 1.5078 MiB
  rails/all: 13.2891 MiB
    active_record/railtie: 7.1172 MiB
(snip)

Since carrierwave requires fog automatically, it's memory footprint is greater than rails. ¯\_(ツ)_/¯

carrierwave (master)

Gemfile:

gem 'carrierwave', github: 'carrierwaveuploader/carrierwave', ref: '49fdad1'

Memory used at Require time:

$ bundle exec derailed bundle:mem
TOP: 64.9336 MiB
  rails/all: 14.6055 MiB
    active_record/railtie: 5.5156 MiB
(snip)
   carrierwave: 2.8438 MiB
    carrierwave/sanitized_file: 1.918 MiB
      mime/types/columnar: 1.8672 MiB
        mime/types: 1.7852 MiB
    carrierwave/uploader: 0.582 MiB
(snip)

See also:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment