Gems Comparison

Pagy v3.0.0

Displaying Dishes 476-500 of 1000 in total

Will Paginate v3.1.7

Displaying Dishes 476 - 500 of 1000 in total

Kaminari v1.1.1

Displaying dishes 476 - 500 of 1000 in total

Important Notes

Comparisons

The values shown by these charts are measured while each gem is producing the exact same output as the others: same environment conditions, same task, just different gems.

Code Size

While the Code Size is not a critical topic, it gives you a good idea about how elegant and effective each gem is while accomplishing the exact same task... and the differences are very noticeable.

Less code to perform the same task usually means less complexity and more efficiency, and understanding 10 lines of code is obviously easier than understanding 100 lines, so in the end the Code Size is also a good factor to evaluate a gem.

To be fair with all gems, we removed the generator-related files from Kaminari, and added the lines of ERB templates it uses. We also added the pagy bootstrap extra, needed to render the same bootstrap pagination of the other gems.

PagyWill PaginateKaminari
Code Size ----------------------------------- 4 Files 139 LOC ----------------------------------- 44 /opt/pagy/lib/pagy/extras/bootstrap.rb 43 /opt/pagy/lib/pagy/frontend.rb 36 /opt/pagy/lib/pagy.rb 16 /opt/pagy/lib/pagy/backend.rb Code Size ----------------------------------- 23 Files 1075 LOC ----------------------------------- 180 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/active_record.rb 100 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers.rb 98 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb 89 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/action_view.rb 81 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/data_mapper.rb 63 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/railtie.rb 52 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer_base.rb 46 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb 45 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/collection.rb 45 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/deprecation.rb 42 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/page_number.rb 38 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/mongoid.rb 33 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/sinatra.rb 28 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/sequel.rb 23 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/core_ext.rb 21 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/per_page.rb 20 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/i18n.rb 20 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/merb.rb 19 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate.rb 11 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/array.rb 8 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/version.rb 8 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/lib/bootstrap-will_paginate.rb 5 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/lib/bootstrap-will_paginate/version.rb Code Size ----------------------------------- 36 Files 700 LOC ----------------------------------- 127 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/paginator.rb 104 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb 63 /usr/local/bundle/gems/kaminari-activerecord-1.1.1/lib/kaminari/activerecord/active_record_relation_methods.rb 62 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/models/page_scope_methods.rb 55 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/helper_methods.rb 41 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/models/array_extension.rb 32 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/models/configuration_methods.rb 29 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/config.rb 18 /usr/local/bundle/gems/kaminari-activerecord-1.1.1/lib/kaminari/activerecord/active_record_model_extension.rb 17 /usr/local/bundle/gems/kaminari-activerecord-1.1.1/lib/kaminari/activerecord/active_record_extension.rb 17 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_paginator.html.erb 17 /opt/project/app/views/kaminari/_paginator.html.erb 16 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/core.rb 14 /usr/local/bundle/gems/kaminari-actionview-1.1.1/lib/kaminari/actionview/action_view_extension.rb 9 /opt/project/app/views/kaminari/_page.html.erb 7 /usr/local/bundle/gems/kaminari-actionview-1.1.1/lib/kaminari/actionview.rb 7 /usr/local/bundle/gems/kaminari-activerecord-1.1.1/lib/kaminari/activerecord.rb 6 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/railtie.rb 5 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/core/version.rb 5 /usr/local/bundle/gems/kaminari-actionview-1.1.1/lib/kaminari/actionview/version.rb 5 /usr/local/bundle/gems/kaminari-activerecord-1.1.1/lib/kaminari/activerecord/version.rb 4 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/engine.rb 3 /usr/local/bundle/gems/kaminari-1.1.1/lib/kaminari.rb 3 /usr/local/bundle/gems/kaminari-1.1.1/lib/kaminari/version.rb 3 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/exceptions.rb 3 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_first_page.html.erb 3 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_last_page.html.erb 3 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_next_page.html.erb 3 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_page.html.erb 3 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_prev_page.html.erb 3 /opt/project/app/views/kaminari/_first_page.html.erb 3 /opt/project/app/views/kaminari/_gap.html.erb 3 /opt/project/app/views/kaminari/_last_page.html.erb 3 /opt/project/app/views/kaminari/_next_page.html.erb 3 /opt/project/app/views/kaminari/_prev_page.html.erb 1 /usr/local/bundle/gems/kaminari-core-1.1.1/app/views/kaminari/_gap.html.erb

Code Structure

Modules and Methods give you a good idea about how complicated is the code. Pagy is not only very simple in structure and number of methods, but 100% of its modules and methods are public API, directly accessible and directly overridable (without monkey patching or subclassing) so there is zero waste there.

The other two gems, conversely, use most of their modules and methods internally, and you would have to deal with a quite complicated "entropy" if you needed some significant overriding.

Moreover, a complicated structure is also affecting speed and object and memory allocation, as the following Memory Profile and Benchmark expose.

To be fair with all gems, we added the pagy_bootstrap_nav_js method needed to render the same bootstrap pagination as the other gems.

PagyWill PaginateKaminari
Code Sructure ----------------------------------- 4 Modules (1 Class) 27 Methods ----------------------------------- 15 Pagy :count :from :initialize :items :last :next :offset :page :pages :prev :root :sequels :series :to :vars 7 Pagy::Frontend :pagy_bootstrap_nav_js :pagy_id :pagy_info :pagy_json_tag :pagy_link_proc :pagy_nav :pagy_t 3 Pagy::Backend :pagy :pagy_get_items :pagy_get_vars 2 Pagy::Helpers :pagy_get_params :pagy_url_for Code Sructure ----------------------------------- 25 Modules (9 Classes) 98 Methods ----------------------------------- 16 WillPaginate::ActiveRecord::RelationMethods :clone :copy_will_paginate_data :count :current_page :current_page= :empty? :find_last :first :limit :offset :per_page :scoped :size :to_a :total_entries :total_entries= 15 WillPaginate::ViewHelpers::LinkRenderer :container_attributes :gap :html_container :link :next_page :page_number :param_name :prepare :previous_or_next_page :previous_page :rel_value :symbolized_update :tag :to_html :url 8 WillPaginate::Collection :create :current_page :initialize :offset :per_page :replace :total_entries :total_entries= 6 WillPaginate::Deprecation::Hash :[]= :check_deprecated :deprecate_key :initialize :merge :to_hash 6 WillPaginate::PageNumber :initialize :inspect :is_a? :kind_of? :to_i :to_offset 6 WillPaginate::ActionView::LinkRenderer :add_current_page_param :default_url_params :merge_get_params :merge_optional_params :parse_query_parameters :url 5 WillPaginate::ViewHelpers::LinkRendererBase :current_page :pagination :prepare :total_pages :windowed_page_numbers 5 WillPaginate::ActionView :infer_collection_from_controller :page_entries_info :paginated_section :will_paginate :will_paginate_translate 4 WillPaginate::ViewHelpers :page_entries_info :pagination_options :pagination_options= :will_paginate 4 WillPaginate::ActionView::Bootstrap4LinkRenderer :gap :html_container :page_number :previous_or_next_page 4 WillPaginate::ActionView::BootstrapLinkRenderer :gap :html_container :page_number :previous_or_next_page 4 WillPaginate::CollectionMethods :next_page :out_of_bounds? :previous_page :total_pages 3 WillPaginate::PerPage :extended :per_page :per_page= 3 WillPaginate::I18n :load_path :locale_dir :will_paginate_translate 2 WillPaginate::ActiveRecord::Pagination :page :paginate 1 WillPaginate :PageNumber 1 WillPaginate::ActiveRecord::BaseMethods :paginate_by_sql 1 WillPaginate::PerPage::Inheritance :inherited 1 WillPaginate::Railtie :setup_actioncontroller 1 WillPaginate::Railtie::ShowExceptionsPatch :status_code_with_paginate 1 WillPaginate::Railtie::ControllerRescuePatch :rescue_from 1 WillPaginate::Deprecation :warn 0 WillPaginate::VERSION 0 WillPaginate::ActiveRecord 0 WillPaginate::InvalidPage Code Sructure ----------------------------------- 29 Modules (13 Classes) 119 Methods ----------------------------------- 21 Kaminari::Config :default_per_page :default_per_page= :initialize :left :left= :max_pages :max_pages= :max_per_page :max_per_page= :outer_window :outer_window= :page_method_name :page_method_name= :param_name :param_name= :params_on_first_page :params_on_first_page= :right :right= :window :window= 20 Kaminari::Helpers::Paginator::PageProxy :+ :- :<=> :current? :display_tag? :first? :initialize :inside_window? :last? :left_outer? :next? :number :out_of_range? :prev? :rel :right_outer? :single_gap? :to_i :to_s :was_truncated? 13 Kaminari::Helpers::Paginator :each_page :each_relevant_page :first_page_tag :gap_tag :initialize :last_page_tag :method_missing :next_page_tag :page_tag :prev_page_tag :relevant_pages :render :to_s 11 Kaminari::PageScopeMethods :current_page :current_per_page :first_page? :last_page? :max_paginates_per :next_page :out_of_range? :padding :per :prev_page :total_pages 10 Kaminari::PaginatableArray :entry_name :initialize :limit :limit_value :limit_value= :offset :offset_value :offset_value= :page :total_count 9 Kaminari::Helpers::HelperMethods :kaminari_page_entries_info :link_to_next_page :link_to_prev_page :link_to_previous_page :page_entries_info :paginate :path_to_next_page :path_to_prev_page :rel_next_prev_link_tags 6 Kaminari::ConfigurationMethods::ClassMethods :default_per_page :max_pages :max_pages_per :max_paginates_per :max_per_page :paginates_per 5 Kaminari::Helpers::Tag :initialize :page_url_for :params_for :partial_path :to_s 4 Kaminari::ActiveRecordRelationMethods :entry_name :reset :total_count :without_count 4 Kaminari::PaginatableWithoutCount :last_page? :load :out_of_range? :total_count 3 Kaminari :config :configure :paginate_array 3 Kaminari::Helpers::Link :page :to_s :url 2 Kaminari::Helpers::PrevPage :initialize :page 2 Kaminari::Helpers::NextPage :initialize :page 2 Kaminari::Helpers::Page :page :to_s 1 Kaminari::ConfigurationMethods :included 1 Kaminari::Helpers::FirstPage :page 1 Kaminari::Helpers::LastPage :page 1 Kaminari::ActiveRecordExtension::ClassMethods :inherited 0 Kaminari::ActionViewExtension 0 Kaminari::ActionViewExtension::LogSubscriberSilencer 0 Kaminari::Railtie 0 Kaminari::Helpers 0 Kaminari::Helpers::Gap 0 Kaminari::Engine 0 Kaminari::ActiveRecordModelExtension 0 Kaminari::Actionview 0 Kaminari::ActiveRecordExtension 0 Kaminari::Activerecord

Memory Profile

The bar charts show the dramatic difference in object created and memory usage by each gem. So many thousand of objects needed to perform such a simple task, show that there is a lot of expensive waste in how that gems work: this is a mayor performance issue.

This chart shows the memory usage with increasing number of pages shown, starting from a pagination bar of just 2 pages, up to 20 pages. From 2 to 20 pages Pagy has no increase (its chart-line is totally flat on the very bottom part of the memory usage), Will Paginate has a 2x increase (noticeable slope) and Kaminari has a 4x increase (a very steep memory increase)!

You can take a look at the full Memory Profile for each gem in the Details below. Please, keep in mind that each pagination gem may use its own code or may use other gems (rails, activerecord, activesupport, etc.) to do its job. Because of that, we measure the memory allocated by the app as a whole (all gems included), not by the single pagination gem (which obviously wouldn't make any sense).

You can see the the specs broken down by gem, classes, files and location in the memory profile below. Certain rails gem use more memory when used with a pagination gem than when they are used with another one.

PagyWill PaginateKaminari
Total allocated: 19431 bytes (184 objects) Total retained: 1078 bytes (4 objects) allocated memory by gem ----------------------------------- 10332 pagy/lib 4312 activerecord-5.2.2.1 1856 activesupport-5.2.2.1 1496 arel-9.0.0 439 other 416 rack-2.0.6 392 project/app 108 uri 40 actionpack-5.2.2.1 40 activemodel-5.2.2.1 allocated memory by file ----------------------------------- 2944 /opt/pagy/lib/pagy.rb 2752 /opt/pagy/lib/pagy/extras/shared.rb 2260 /opt/pagy/lib/pagy/extras/bootstrap.rb 2200 /opt/pagy/lib/pagy/frontend.rb 1512 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb 1088 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb 704 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb 504 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb 496 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb 439 (eval) 432 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb 400 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/query_methods.rb 392 /opt/project/app/helpers/comparison_helper.rb 376 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb 320 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb 280 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb 280 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb 272 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 240 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb 216 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 184 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb 176 /opt/pagy/lib/pagy/backend.rb 128 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb 128 /usr/local/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb 108 /usr/local/lib/ruby/2.6.0/uri/common.rb 80 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 80 /usr/local/bundle/gems/arel-9.0.0/lib/arel/expressions.rb 80 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb 40 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/abstract_controller/helpers.rb 40 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_methods.rb 40 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/attribute_methods.rb 40 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/explain_subscriber.rb 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel.rb 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb 40 /usr/local/bundle/gems/rack-2.0.6/lib/rack/request.rb allocated memory by location ----------------------------------- 2288 /opt/pagy/lib/pagy/extras/shared.rb:29 1544 /opt/pagy/lib/pagy.rb:40 1143 /opt/pagy/lib/pagy/extras/bootstrap.rb:37 696 /opt/pagy/lib/pagy/frontend.rb:70 696 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:36 696 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:437 584 /opt/pagy/lib/pagy/frontend.rb:64 512 /opt/pagy/lib/pagy.rb:21 432 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb:11 428 /opt/pagy/lib/pagy/extras/bootstrap.rb:30 392 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb:89 336 /opt/pagy/lib/pagy.rb:38 336 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:820 328 (eval):1 320 /opt/pagy/lib/pagy.rb:23 288 /opt/pagy/lib/pagy/frontend.rb:63 280 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 272 /opt/project/app/helpers/comparison_helper.rb:17 248 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb:121 232 /opt/pagy/lib/pagy.rb:22 232 /opt/pagy/lib/pagy/extras/shared.rb:20 232 /opt/pagy/lib/pagy/extras/shared.rb:22 232 /opt/pagy/lib/pagy/frontend.rb:52 232 /opt/pagy/lib/pagy/frontend.rb:55 232 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:111 232 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb:111 232 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:242 232 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:339 232 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:343 232 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:93 232 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:60 177 /opt/pagy/lib/pagy/extras/bootstrap.rb:33 174 /opt/pagy/lib/pagy/extras/bootstrap.rb:35 170 /opt/pagy/lib/pagy/extras/bootstrap.rb:32 168 /opt/pagy/lib/pagy/extras/bootstrap.rb:34 160 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:115 144 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb:8 136 /opt/pagy/lib/pagy/backend.rb:15 128 /opt/pagy/lib/pagy/frontend.rb:17 128 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 120 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:475 120 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:436 120 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:378 120 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:100 111 (eval):14 108 /usr/local/lib/ruby/2.6.0/uri/common.rb:369 96 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:87 88 /usr/local/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:12 88 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb:126 80 /opt/project/app/helpers/comparison_helper.rb:131 allocated memory by class ----------------------------------- 7215 String 6080 Hash 4040 Array 432 ActiveRecord::Relation 256 Enumerator 240 Proc 232 ActiveSupport::HashWithIndifferentAccess 136 Pagy 120 Range 104 Arel::Nodes::SelectCore 96 ActiveSupport::Notifications::Event 88 Arel::Nodes::SelectStatement 80 Arel::Collectors::SQLString 72 ActiveRecord::Result 40 Arel::Collectors::Bind 40 Arel::Collectors::Composite 40 Arel::Nodes::Count 40 Arel::Nodes::JoinSource 40 Arel::Nodes::SqlLiteral 40 Arel::SelectManager allocated objects by gem ----------------------------------- 58 pagy/lib 54 activerecord-5.2.2.1 29 arel-9.0.0 21 activesupport-5.2.2.1 7 other 6 rack-2.0.6 5 project/app 2 uri 1 actionpack-5.2.2.1 1 activemodel-5.2.2.1 allocated objects by file ----------------------------------- 22 /opt/pagy/lib/pagy.rb 16 /opt/pagy/lib/pagy/frontend.rb 10 /opt/pagy/lib/pagy/extras/shared.rb 10 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/query_methods.rb 9 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb 8 /opt/pagy/lib/pagy/extras/bootstrap.rb 8 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb 8 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb 8 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb 8 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb 7 (eval) 7 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb 7 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb 6 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb 5 /opt/project/app/helpers/comparison_helper.rb 5 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb 5 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb 4 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb 3 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb 2 /opt/pagy/lib/pagy/backend.rb 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/expressions.rb 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb 2 /usr/local/lib/ruby/2.6.0/uri/common.rb 1 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/abstract_controller/helpers.rb 1 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_methods.rb 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/attribute_methods.rb 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/explain_subscriber.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/request.rb allocated objects by location ----------------------------------- 11 /opt/pagy/lib/pagy.rb:40 8 /opt/pagy/lib/pagy.rb:23 8 /opt/pagy/lib/pagy/extras/shared.rb:29 7 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 5 (eval):1 5 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb:89 4 /opt/pagy/lib/pagy/frontend.rb:63 4 /opt/pagy/lib/pagy/frontend.rb:64 4 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:820 3 /opt/pagy/lib/pagy/frontend.rb:70 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:475 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:36 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:436 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:437 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:378 3 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb:11 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:100 3 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb:121 2 (eval):14 2 /opt/pagy/lib/pagy/extras/bootstrap.rb:30 2 /opt/pagy/lib/pagy/extras/bootstrap.rb:37 2 /opt/pagy/lib/pagy/frontend.rb:17 2 /opt/project/app/helpers/comparison_helper.rb:131 2 /opt/project/app/helpers/comparison_helper.rb:17 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:115 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:610 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:218 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:207 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:374 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/expressions.rb:5 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb:8 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:738 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:836 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:369 1 /opt/pagy/lib/pagy.rb:21 1 /opt/pagy/lib/pagy.rb:22 1 /opt/pagy/lib/pagy.rb:38 1 /opt/pagy/lib/pagy/backend.rb:15 1 /opt/pagy/lib/pagy/backend.rb:16 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:32 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:33 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:34 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:35 1 /opt/pagy/lib/pagy/extras/shared.rb:20 1 /opt/pagy/lib/pagy/extras/shared.rb:22 1 /opt/pagy/lib/pagy/frontend.rb:16 1 /opt/pagy/lib/pagy/frontend.rb:52 1 /opt/pagy/lib/pagy/frontend.rb:55 allocated objects by class ----------------------------------- 69 String 65 Array 25 Hash 3 ActiveRecord::Relation 3 Proc 3 Range 2 Arel::Collectors::SQLString 2 Enumerator 1 ActiveRecord::Result 1 ActiveSupport::HashWithIndifferentAccess 1 ActiveSupport::Notifications::Event 1 Arel::Collectors::Bind 1 Arel::Collectors::Composite 1 Arel::Nodes::Count 1 Arel::Nodes::JoinSource 1 Arel::Nodes::SelectCore 1 Arel::Nodes::SelectStatement 1 Arel::Nodes::SqlLiteral 1 Arel::SelectManager 1 Pagy retained memory by gem ----------------------------------- 1078 pagy/lib retained memory by file ----------------------------------- 958 /opt/pagy/lib/pagy/extras/shared.rb 120 /opt/pagy/lib/pagy/frontend.rb retained memory by location ----------------------------------- 958 /opt/pagy/lib/pagy/extras/shared.rb:29 120 /opt/pagy/lib/pagy/frontend.rb:63 retained memory by class ----------------------------------- 1038 String 40 Array retained objects by gem ----------------------------------- 4 pagy/lib retained objects by file ----------------------------------- 3 /opt/pagy/lib/pagy/frontend.rb 1 /opt/pagy/lib/pagy/extras/shared.rb retained objects by location ----------------------------------- 3 /opt/pagy/lib/pagy/frontend.rb:63 1 /opt/pagy/lib/pagy/extras/shared.rb:29 retained objects by class ----------------------------------- 3 String 1 Array Allocated String Report ----------------------------------- 4 "all" 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:378 1 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_methods.rb:219 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/attribute_methods.rb:230 3 "count" 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:218 1 /opt/pagy/lib/pagy.rb:23 3 "page" 1 /opt/pagy/lib/pagy.rb:23 1 /opt/pagy/lib/pagy/frontend.rb:16 1 /usr/local/lib/ruby/2.6.0/uri/common.rb:369 2 "*" 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:738 2 "0" 1 /opt/pagy/lib/pagy/extras/shared.rb:29 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 "20" 1 /opt/pagy/lib/pagy/extras/shared.rb:29 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 "COUNT(" 2 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:836 2 "COUNT(*)" 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb:89 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 2 "gap" 2 /opt/pagy/lib/pagy/extras/shared.rb:29 2 "page=-pagy--2965793977840132061-" 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb:121 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb:126 2 "pagy" 1 /opt/project/app/helpers/comparison_helper.rb:131 1 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/abstract_controller/helpers.rb:67 1 "" 1 /opt/pagy/lib/pagy/frontend.rb:17 1 "\" class=\"page-link\"" 1 /opt/pagy/lib/pagy/frontend.rb:63 1 "&" 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/utils.rb:121 1 "&hellip;" 1 (eval):1 1 "&lsaquo;&nbsp;Prev" 1 (eval):1 1 "-pagy--2965793977840132061-" 1 /usr/local/lib/ruby/2.6.0/uri/common.rb:369 1 ".other" 1 (eval):14 1 "/gems1" 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/request.rb:405 1 "/gems1?page=-pagy--2965793977840132061-" 1 /opt/pagy/lib/pagy/frontend.rb:17 1 "1000" 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 "19" 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 "21" 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 "476" 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 "500" 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 "<a href=\"/gems1?page=" 1 /opt/pagy/lib/pagy/frontend.rb:63 1 "<a href=\"/gems1?page=-pagy--2965793977840132061-\" class=\"page-link\"" 1 /opt/pagy/lib/pagy/frontend.rb:63 1 "<a href=\"/gems1?page=-pagy--2965793977840132061-\" class=\"page-link\" >-pagy--2965793977840132061-</a>" 1 /opt/pagy/lib/pagy/frontend.rb:64 1 "<a href=\"/gems1?page=19\" class=\"page-link\" rel=\"prev\" aria-label=\"previous\">&lsaquo;&nbsp;Prev</a>" 1 /opt/pagy/lib/pagy/frontend.rb:64 1 "<a href=\"/gems1?page=21\" class=\"page-link\" rel=\"next\" aria-label=\"next\">Next&nbsp;&rsaquo;</a>" 1 /opt/pagy/lib/pagy/frontend.rb:64 1 "<li class=\"page-item active\"><a href=\"/gems1?page=-pagy--2965793977840132061-\" class=\"page-link\" >-pagy--2965793977840132061-</a></li>" 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:33 1 "<li class=\"page-item gap disabled\"><a href=\"#\" class=\"page-link\">&hellip;</a></li>" 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:34 1 "<li class=\"page-item next\"><a href=\"/gems1?page=21\" class=\"page-link\" rel=\"next\" aria-label=\"next\">Next&nbsp;&rsaquo;</a></li></ul>" 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:35 1 "<li class=\"page-item\"><a href=\"/gems1?page=-pagy--2965793977840132061-\" class=\"page-link\" >-pagy--2965793977840132061-</a></li>" 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:32 1 "<nav id=\"comparison\" class=\"pagy-bootstrap-nav-js pagination\" role=\"navigation\" aria-label=\"pager\"></nav><script type=\"application/json\" class=\"pagy-json\">[\"nav\",\"comparison\",\"-pagy--29657939778401320" 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:37 1 "<script type=\"application/json\" class=\"pagy-json\">[\"nav\",\"comparison\",\"-pagy--2965793977840132061-\",{\"before\":\"<ul class=\\\"pagination\\\"><li class=\\\"page-item prev\\\"><a href=\\\"/gems1?page=19\\\" class=\\" 1 /opt/pagy/lib/pagy/extras/shared.rb:29 1 "<ul class=\"pagination\"><li class=\"page-item prev\"><a href=\"/gems1?page=19\" class=\"page-link\" rel=\"prev\" aria-label=\"previous\">&lsaquo;&nbsp;Prev</a></li>" 1 /opt/pagy/lib/pagy/extras/bootstrap.rb:30 1 "@count" 1 /opt/pagy/lib/pagy.rb:23 1 "@items" 1 /opt/pagy/lib/pagy.rb:23 1 "@outset" 1 /opt/pagy/lib/pagy.rb:23 1 "@page" 1 /opt/pagy/lib/pagy.rb:23 1 "Dishes" 1 (eval):1 1 "Displaying Dishes <b>476-500</b> of <b>1000</b> in total" 1 (eval):1 1 "Next&nbsp;&rsaquo;" 1 (eval):1 1 "SELECT COUNT(*) FROM \"dishes\"" 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 1 "[\"nav\",\"comparison\",\"-pagy--2965793977840132061-\",{\"before\":\"<ul class=\\\"pagination\\\"><li class=\\\"page-item prev\\\"><a href=\\\"/gems1?page=19\\\" class=\\\"page-link\\\" rel=\\\"prev\\\" aria-label=\\\"previous\\\">" 1 /opt/pagy/lib/pagy/extras/shared.rb:29 1 "active_record" 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:100 1 "activerecord.models.dish.other" 1 (eval):14 1 "comparison" 1 /opt/project/app/helpers/comparison_helper.rb:19 1 "items" 1 /opt/pagy/lib/pagy.rb:23 Retained String Report ----------------------------------- 1 "\" class=\"page-link\"" 1 /opt/pagy/lib/pagy/frontend.rb:63 1 "<a href=\"/gems1?page=" 1 /opt/pagy/lib/pagy/frontend.rb:63 1 "<script type=\"application/json\" class=\"pagy-json\">[\"nav\",\"comparison\",\"-pagy--2965793977840132061-\",{\"before\":\"<ul class=\\\"pagination\\\"><li class=\\\"page-item prev\\\"><a href=\\\"/gems1?page=19\\\" class=\\" 1 /opt/pagy/lib/pagy/extras/shared.rb:29
Total allocated: 341301 bytes (3198 objects) Total retained: 3408 bytes (11 objects) allocated memory by gem ----------------------------------- 103520 actionpack-5.2.2.1 63737 activesupport-5.2.2.1 62308 will_paginate-3.1.7 52128 activerecord-5.2.2.1 18504 i18n-1.6.0 15624 bootstrap-will_paginate-1.0.0 11768 activemodel-5.2.2.1 7816 actionview-5.2.2.1 5248 arel-9.0.0 360 project/app 288 delegate allocated memory by file ----------------------------------- 57200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb 44314 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb 32200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb 23200 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb 18032 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb 15624 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb 11200 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb 9360 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb 9152 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/core.rb 8960 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb 8704 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/action_view.rb 7816 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb 6440 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb 6200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/aggregations.rb 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/associations.rb 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/persistence.rb 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb 5152 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/active_record.rb 5080 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb 3768 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb 3440 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb 3305 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb 3120 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb 2296 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/query_methods.rb 2248 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/except.rb 2000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb 1936 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb 1888 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/base.rb 1880 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/core_ext/hash.rb 1760 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb 1624 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/querying.rb 1530 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers.rb 1360 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer_base.rb 1112 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb 1088 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 1008 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb 960 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb 928 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/deprecation.rb 896 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb 880 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb 864 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 856 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/naming.rb 792 /usr/local/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb 736 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb 704 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/delegation.rb 640 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb 576 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/type/value.rb 528 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb 400 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/access.rb allocated memory by location ----------------------------------- 23200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:801 23200 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb:15 18032 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:57 15683 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:106 11016 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 9000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:121 8800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:97 8288 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:100 7200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:819 6800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:101 6256 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:51 6120 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 6032 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb:25 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/aggregations.rb:25 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/associations.rb:265 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/core.rb:541 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/persistence.rb:71 6032 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb:134 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb:42 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:19 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:67 5800 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/action_view.rb:115 5336 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:52 4800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:32 4296 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/active_record.rb:117 4200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:69 4200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:49 4200 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:85 3120 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/core.rb:144 3120 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 3000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 3000 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 2784 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb:44 2552 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb:368 2449 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:174 2288 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb:16 2223 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:30 2040 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:111 2000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:103 2000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:41 2000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:38 2000 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:87 1936 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb:87 1920 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:112 1856 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:36 1856 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb:437 1856 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/action_view.rb:83 1800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:775 1640 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/except.rb:13 1512 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb:60 allocated memory by class ----------------------------------- 189896 Hash 71901 String 50232 Array 4560 Class 3712 Enumerator 3120 Dish 2552 Thread::Backtrace 2400 Regexp 2288 ActiveModel::LazyAttributeHash 1800 ActionDispatch::Routing::RouteSet::Generator 1488 ActiveRecord::Relation 1040 ActiveModel::AttributeSet 720 Proc 616 ActiveSupport::SafeBuffer 560 MatchData 416 Arel::Nodes::SelectCore 384 ActiveSupport::Notifications::Event 352 Arel::Nodes::SelectStatement 320 ActiveModel::Attribute::WithCastValue 320 Range 288 ActiveRecord::Result 240 Arel::Collectors::SQLString 160 Arel::Collectors::Bind 160 Arel::Collectors::Composite 160 Arel::Nodes::BindParam 160 Arel::Nodes::JoinSource 160 Arel::Nodes::SqlLiteral 160 Arel::SelectManager 144 Method 144 UnboundMethod 120 Arel::Attributes::Attribute 120 I18n::MissingTranslation 88 WillPaginate::ActionView::Bootstrap4LinkRenderer 80 Arel::Nodes::Count 80 Arel::Nodes::Limit 80 Arel::Nodes::Offset 80 Arel::Nodes::Top 80 I18n::MissingTranslationData 80 WillPaginate::PageNumber 40 Arel::Nodes::Ascending allocated objects by gem ----------------------------------- 1028 actionpack-5.2.2.1 861 will_paginate-3.1.7 426 activesupport-5.2.2.1 379 activerecord-5.2.2.1 125 bootstrap-will_paginate-1.0.0 110 i18n-1.6.0 107 activemodel-5.2.2.1 104 arel-9.0.0 51 actionview-5.2.2.1 4 delegate 3 project/app allocated objects by file ----------------------------------- 800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb 758 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb 200 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb 125 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb 78 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb 78 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb 75 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb 75 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb 63 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb 52 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/core.rb 51 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb 51 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb 47 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/query_methods.rb 44 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb 40 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/action_view.rb 31 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb 27 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/aggregations.rb 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/associations.rb 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/persistence.rb 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb 25 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/active_record.rb 24 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb 22 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb 19 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb 19 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb 19 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers.rb 18 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb 16 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb 16 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 15 /usr/local/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb 15 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/base.rb 14 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/querying.rb 12 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb 12 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/except.rb 12 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb 10 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/access.rb 10 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/core_ext/hash.rb 10 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer_base.rb 9 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb 8 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/type/value.rb 8 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 8 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 8 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/page_number.rb 7 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/naming.rb 7 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb 6 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb 6 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb allocated objects by location ----------------------------------- 263 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 225 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:121 168 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:106 164 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:100 100 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:97 78 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 75 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 75 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 51 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:57 51 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:111 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:101 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:103 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:41 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:69 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:38 50 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:87 48 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:112 46 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:51 36 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 26 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb:16 26 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb:17 26 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_set/builder.rb:25 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/aggregations.rb:25 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/associations.rb:265 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/core.rb:144 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/core.rb:541 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/persistence.rb:71 26 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb:134 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb:42 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:86 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:106 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:114 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:115 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:19 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:32 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:47 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:67 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:71 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:49 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:775 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:801 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:819 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb:15 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:78 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:8 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:82 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:84 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:85 25 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/action_view.rb:115 allocated objects by class ----------------------------------- 1185 String 1118 Array 636 Hash 29 Enumerator 26 ActiveModel::AttributeSet 26 ActiveModel::LazyAttributeHash 26 Dish 25 ActionDispatch::Routing::RouteSet::Generator 11 ActiveSupport::SafeBuffer 10 ActiveRecord::Relation 10 Class 9 Proc 8 Range 6 Arel::Collectors::SQLString 4 ActiveModel::Attribute::WithCastValue 4 ActiveRecord::Result 4 ActiveSupport::Notifications::Event 4 Arel::Collectors::Bind 4 Arel::Collectors::Composite 4 Arel::Nodes::BindParam 4 Arel::Nodes::JoinSource 4 Arel::Nodes::SelectCore 4 Arel::Nodes::SelectStatement 4 Arel::Nodes::SqlLiteral 4 Arel::SelectManager 3 Arel::Attributes::Attribute 3 I18n::MissingTranslation 3 Regexp 2 Arel::Nodes::Count 2 Arel::Nodes::Limit 2 Arel::Nodes::Offset 2 Arel::Nodes::Top 2 MatchData 2 Method 2 UnboundMethod 2 WillPaginate::PageNumber 1 Arel::Nodes::Ascending 1 I18n::MissingTranslationData 1 Thread::Backtrace 1 WillPaginate::ActionView::Bootstrap4LinkRenderer retained memory by gem ----------------------------------- 2864 i18n-1.6.0 176 arel-9.0.0 168 activesupport-5.2.2.1 160 activemodel-5.2.2.1 40 activerecord-5.2.2.1 retained memory by file ----------------------------------- 2552 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb 312 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb 168 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb 160 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb 136 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb 40 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb retained memory by location ----------------------------------- 2552 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb:368 232 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb:53 168 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:256 160 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb:17 136 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 80 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb:69 40 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:24 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:7 retained memory by class ----------------------------------- 2552 Thread::Backtrace 232 Hash 168 ActiveSupport::SafeBuffer 160 ActiveModel::Attribute::WithCastValue 136 String 80 Array 80 I18n::MissingTranslationData retained objects by gem ----------------------------------- 3 activesupport-5.2.2.1 3 i18n-1.6.0 2 activemodel-5.2.2.1 2 arel-9.0.0 1 activerecord-5.2.2.1 retained objects by file ----------------------------------- 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb 2 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb 2 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb retained objects by location ----------------------------------- 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:256 2 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb:17 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:24 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:7 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb:368 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb:53 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/exceptions.rb:69 retained objects by class ----------------------------------- 3 ActiveSupport::SafeBuffer 2 ActiveModel::Attribute::WithCastValue 2 Array 1 Hash 1 I18n::MissingTranslationData 1 String 1 Thread::Backtrace Allocated String Report ----------------------------------- 126 "page" 50 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:87 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:8 1 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/page_number.rb:51 77 "" 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:41 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:84 2 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:59 56 "class" 56 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 54 "a" 54 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:106 54 "li" 54 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:106 54 "page-link" 27 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 23 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:51 2 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:55 2 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:59 46 "page-item" 22 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:48 22 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 2 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:59 44 " class=\"page-item\"" 22 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:100 22 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 27 " class=\"page-link\"" 27 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 27 "href" 27 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 25 "/gems1" 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:49 25 "action" 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 25 "controller" 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 12 "(?-mix:%%)|(?-mix:%\\{(\\w+)\\})|(?-mix:%<(\\w+)>(.*?\\d*\\.?\\d*[bBdiouxXeEfgGcps]))" 12 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 8 "all" 4 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:378 2 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute_methods.rb:219 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/attribute_methods.rb:230 7 "19" 5 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 7 "21" 5 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 7 "Dish" 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/querying.rb:41 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/querying.rb:49 2 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb:94 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb:81 7 "Dishes" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 2 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/base.rb:48 6 "476" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 6 "500" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 6 "next" 3 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:112 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 1 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:59 6 "prev" 3 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:111 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 1 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:59 5 "count" 4 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb:218 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:27 4 " class=\"page-item disabled\"" 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:100 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 4 " class=\"pagination\"" 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:100 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 4 "#" 2 /usr/local/bundle/gems/bootstrap-will_paginate-1.0.0/config/initializers/will_paginate.rb:55 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 4 "%%" 4 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:24 4 "*" 4 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:738 4 "/gems1?page=19" 2 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 4 "/gems1?page=21" 2 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 2 /usr/local/bundle/gems/will_paginate-3.1.7/lib/will_paginate/view_helpers/link_renderer.rb:102 4 "1" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "15" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "16" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "17" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "18" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "2" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "20" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "22" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "23" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "24" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "25" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "3" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "35" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "36" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "37" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "38" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "39" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "4" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 4 "40" 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 Retained String Report ----------------------------------- 1 "SELECT \"dishes\".* FROM \"dishes\" LIMIT ? OFFSET ?" 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6
Total allocated: 703605 bytes (6445 objects) Total retained: 13560 bytes (120 objects) allocated memory by gem ----------------------------------- 281992 activesupport-5.2.2.1 140661 actionview-5.2.2.1 104320 actionpack-5.2.2.1 90440 kaminari-core-1.1.1 22800 rack-2.0.6 18072 project/app 17624 i18n-1.6.0 15808 activerecord-5.2.2.1 4496 arel-9.0.0 4000 uri 2920 activemodel-5.2.2.1 472 kaminari-activerecord-1.1.1 allocated memory by file ----------------------------------- 189384 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb 57120 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb 55928 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb 42112 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb 33136 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/paginator.rb 32200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb 24832 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb 23664 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb 23512 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb 22800 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb 18816 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb 11136 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb 10896 /opt/project/app/views/kaminari/_page.html.erb 10624 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb 10352 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb 9973 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb 8456 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 7792 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/rendering_helper.rb 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template.rb 6480 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 6440 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb 6200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb 5824 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/renderer.rb 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb 5272 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb 4416 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb 4312 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb 4000 /usr/local/lib/ruby/2.6.0/uri/common.rb 3384 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/core_ext/hash.rb 3240 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb 3208 /opt/project/app/views/kaminari/_paginator.html.erb 3200 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb 2464 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/path_set.rb 2256 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/query_methods.rb 1960 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb 1944 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/naming.rb 1920 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb 1808 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n.rb 1576 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/base.rb 1368 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb 1296 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/helper_methods.rb 1280 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb 1168 /opt/project/app/views/kaminari/_gap.html.erb 1120 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/base.rb 1088 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/except.rb 1080 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/strong_parameters.rb 1040 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/url_helper.rb 1008 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb 960 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb allocated memory by location ----------------------------------- 96976 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:343 30392 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:339 24592 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:242 23664 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb:15 23200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:801 21336 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/paginator.rb:57 12000 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:57 11200 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:31 10016 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 9480 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:207 9480 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:374 9408 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:64 9000 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:121 8960 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:527 8912 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:40 8800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:97 8736 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:52 8000 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:81 7616 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:33 7200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:819 6960 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:60 6800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:101 6720 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:68 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/rendering_helper.rb:27 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:163 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:63 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:33 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:332 6496 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template.rb:359 6496 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:32 6400 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 6264 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:93 6120 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 5824 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/renderer.rb:49 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb:42 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:19 5800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:67 5800 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:353 5800 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:19 5800 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:157 5520 /opt/project/app/views/kaminari/_page.html.erb:7 5064 /opt/project/app/views/kaminari/_page.html.erb:1 4920 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb:60 4872 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:95 4800 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:32 4720 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 4704 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:211 4200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:69 4200 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:49 4176 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb:44 allocated memory by class ----------------------------------- 379192 Hash 135840 Array 103373 String 24592 ActiveSupport::HashWithIndifferentAccess 19040 MatchData 10744 ActionView::OutputBuffer 4704 ActionView::PartialRenderer 3584 Enumerator 2880 ActiveSupport::Notifications::Event 2736 Class 2400 Regexp 1904 ActiveSupport::SafeBuffer 1848 Kaminari::Helpers::Page 1800 ActionDispatch::Routing::RouteSet::Generator 1520 Range 1152 ActiveRecord::Relation 1040 Kaminari::Helpers::Paginator::PageProxy 1000 Rack::QueryParser::Params 480 Module 416 Arel::Nodes::SelectCore 400 Proc 352 Arel::Nodes::SelectStatement 320 ActiveModel::Attribute::WithCastValue 240 Arel::Nodes::SqlLiteral 176 Kaminari::Helpers::Gap 160 Arel::Nodes::BindParam 160 Arel::Nodes::JoinSource 160 Arel::SelectManager 144 ActiveRecord::Result 120 Arel::Collectors::SQLString 96 Kaminari::Helpers::Paginator 88 Kaminari::Helpers::FirstPage 88 Kaminari::Helpers::LastPage 88 Kaminari::Helpers::NextPage 88 Kaminari::Helpers::PrevPage 80 Arel::Collectors::Bind 80 Arel::Collectors::Composite 80 Arel::Nodes::Count 80 Arel::Nodes::Limit 80 Arel::Nodes::Offset 80 Arel::Nodes::Top 80 Symbol 40 Arel::Attributes::Attribute 40 Arel::Nodes::Grouping 40 Arel::Nodes::TableAlias allocated objects by gem ----------------------------------- 2266 activesupport-5.2.2.1 1494 actionview-5.2.2.1 1048 actionpack-5.2.2.1 664 kaminari-core-1.1.1 300 rack-2.0.6 180 activerecord-5.2.2.1 155 project/app 111 i18n-1.6.0 100 uri 91 arel-9.0.0 29 activemodel-5.2.2.1 7 kaminari-activerecord-1.1.1 allocated objects by file ----------------------------------- 1341 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb 798 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb 460 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb 420 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb 300 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb 286 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb 246 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb 195 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/paginator.rb 192 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb 174 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb 148 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb 120 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 115 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb 112 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb 112 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb 108 /opt/project/app/views/kaminari/_page.html.erb 100 /usr/local/lib/ruby/2.6.0/uri/common.rb 80 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb 75 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb 75 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb 62 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/translation_helper.rb 60 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 56 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/renderer.rb 49 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb 48 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb 44 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb 34 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/query_methods.rb 32 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb 31 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation.rb 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/base.rb 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/rendering_helper.rb 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/path_set.rb 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template.rb 27 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/strong_parameters.rb 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/reverse_merge.rb 26 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/url_helper.rb 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_controller/metal/url_for.rb 24 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb 24 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb 18 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/core_ext/hash.rb 17 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/calculations.rb 16 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/backend/base.rb 15 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/naming.rb 15 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/relation/spawn_methods.rb 15 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/result.rb 15 /usr/local/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb 14 /opt/project/app/views/kaminari/_gap.html.erb 14 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/access.rb 13 /usr/local/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb 12 /usr/local/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb allocated objects by location ----------------------------------- 418 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:343 237 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:207 237 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:374 225 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:121 218 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 160 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 131 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:339 118 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 106 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:242 105 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/paginator.rb:57 100 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:97 100 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 98 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:40 90 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:100 84 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:205 84 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:526 84 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:31 80 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 79 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 75 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 73 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 69 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 63 /opt/project/app/views/kaminari/_page.html.erb:1 56 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:30 56 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43 56 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:527 56 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/renderer.rb:49 56 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb:224 56 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:33 56 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:68 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:101 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:103 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:41 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:69 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:38 50 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:44 50 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:64 50 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:81 49 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 42 /opt/project/app/views/kaminari/_page.html.erb:7 36 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 34 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:528 34 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:256 30 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:60 30 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:64 30 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:87 29 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:56 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/base.rb:188 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/rendering_helper.rb:27 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:117 allocated objects by class ----------------------------------- 2390 Array 2059 String 1456 Hash 106 ActiveSupport::HashWithIndifferentAccess 68 MatchData 38 Range 34 ActiveSupport::SafeBuffer 30 ActiveSupport::Notifications::Event 29 ActionView::OutputBuffer 28 ActionView::PartialRenderer 28 Enumerator 26 Kaminari::Helpers::Paginator::PageProxy 25 ActionDispatch::Routing::RouteSet::Generator 25 Rack::QueryParser::Params 21 Kaminari::Helpers::Page 8 ActiveRecord::Relation 6 Arel::Nodes::SqlLiteral 6 Class 5 Proc 4 ActiveModel::Attribute::WithCastValue 4 Arel::Nodes::BindParam 4 Arel::Nodes::JoinSource 4 Arel::Nodes::SelectCore 4 Arel::Nodes::SelectStatement 4 Arel::SelectManager 3 Arel::Collectors::SQLString 3 Regexp 2 ActiveRecord::Result 2 Arel::Collectors::Bind 2 Arel::Collectors::Composite 2 Arel::Nodes::Count 2 Arel::Nodes::Limit 2 Arel::Nodes::Offset 2 Arel::Nodes::Top 2 Kaminari::Helpers::Gap 2 Symbol 1 Arel::Attributes::Attribute 1 Arel::Nodes::Grouping 1 Arel::Nodes::TableAlias 1 Kaminari::Helpers::FirstPage 1 Kaminari::Helpers::LastPage 1 Kaminari::Helpers::NextPage 1 Kaminari::Helpers::Paginator 1 Kaminari::Helpers::PrevPage 1 Module retained memory by gem ----------------------------------- 10600 activesupport-5.2.2.1 2464 actionview-5.2.2.1 176 arel-9.0.0 160 activemodel-5.2.2.1 120 project/app 40 activerecord-5.2.2.1 retained memory by file ----------------------------------- 7912 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 2688 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 2464 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb 160 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb 136 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb 120 /opt/project/app/helpers/comparison_helper.rb 40 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb retained memory by location ----------------------------------- 6496 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:60 2688 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:87 2464 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43 1416 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:64 160 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb:17 136 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 80 /opt/project/app/helpers/comparison_helper.rb:131 40 /opt/project/app/helpers/comparison_helper.rb:31 40 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:24 40 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:7 retained memory by class ----------------------------------- 6496 Hash 2688 ActiveSupport::Notifications::Event 2680 String 1536 Array 160 ActiveModel::Attribute::WithCastValue retained objects by gem ----------------------------------- 84 activesupport-5.2.2.1 28 actionview-5.2.2.1 3 project/app 2 activemodel-5.2.2.1 2 arel-9.0.0 1 activerecord-5.2.2.1 retained objects by file ----------------------------------- 56 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb 28 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb 3 /opt/project/app/helpers/comparison_helper.rb 2 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb retained objects by location ----------------------------------- 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43 28 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:60 28 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:64 28 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:87 2 /opt/project/app/helpers/comparison_helper.rb:131 2 /usr/local/bundle/gems/activemodel-5.2.2.1/lib/active_model/attribute.rb:17 1 /opt/project/app/helpers/comparison_helper.rb:31 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:24 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:7 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 retained objects by class ----------------------------------- 31 Array 31 String 28 ActiveSupport::Notifications::Event 28 Hash 2 ActiveModel::Attribute::WithCastValue Allocated String Report ----------------------------------- 353 "page" 50 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 25 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:44 25 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 25 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:81 25 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:82 23 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 23 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 23 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:8 21 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:205 21 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:526 21 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:527 21 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:528 21 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 21 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb:94 8 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:56 108 "page-link" 27 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 20 /opt/project/app/views/kaminari/_page.html.erb:7 2 /opt/project/app/views/kaminari/_gap.html.erb:2 1 /opt/project/app/views/kaminari/_first_page.html.erb:2 1 /opt/project/app/views/kaminari/_last_page.html.erb:2 1 /opt/project/app/views/kaminari/_next_page.html.erb:2 1 /opt/project/app/views/kaminari/_page.html.erb:3 1 /opt/project/app/views/kaminari/_prev_page.html.erb:2 102 "" 50 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:41 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:84 25 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:83 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:85 57 "kaminari" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:205 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:211 1 /opt/project/app/helpers/comparison_helper.rb:131 53 "remote" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 24 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:40 1 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 42 "kaminari/page" 21 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:526 21 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:68 33 "/gems1" 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/visitors.rb:49 2 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 28 "action_view" 28 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:100 28 "current_page" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 28 "partial" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43 28 "per_page" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 28 "render_partial" 28 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/subscriber.rb:100 28 "render_partial.action_view" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43 28 "total_pages" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 27 "_method" 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 27 "authenticity_token" 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 27 "class" 26 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:40 1 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 27 "class=\"page-link\"" 27 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 27 "commit" 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 27 "script_name" 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 27 "utf8" 27 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 25 "action" 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 25 "controller" 25 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/formatter.rb:98 25 "e" 25 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:526 25 "only_path" 25 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/hash_with_indifferent_access.rb:350 25 "url" 25 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/template/resolver.rb:183 22 "rel" 22 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/hash/keys.rb:40 21 "Kaminari::Helpers::Page" 21 /usr/local/bundle/gems/kaminari-core-1.1.1/lib/kaminari/helpers/tags.rb:67 21 "Page" 21 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb:224 21 "kaminari/_page" 21 /opt/project/app/views/kaminari/_page.html.erb:1 18 "Dish" 10 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb:94 5 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb:81 1 /usr/local/bundle/gems/activerecord-5.2.2.1/lib/active_record/scoping.rb:85 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb:403 1 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 13 "19" 4 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 2 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 13 "21" 4 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 2 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 13 "40" 4 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 2 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 12 "(?-mix:%%)|(?-mix:%\\{(\\w+)\\})|(?-mix:%<(\\w+)>(.*?\\d*\\.?\\d*[bBdiouxXeEfgGcps]))" 12 /usr/local/bundle/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb:23 11 "1" 4 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 3 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 10 "gap" 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/lookup_context.rb:205 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:526 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:527 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/partial_renderer.rb:528 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/inflector/methods.rb:94 8 "#" 2 /opt/project/app/views/kaminari/_gap.html.erb:2 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 8 "/gems1?page=19" 2 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 8 "/gems1?page=21" 2 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 8 "/gems1?page=40" 2 /usr/local/bundle/gems/actionpack-5.2.2.1/lib/action_dispatch/http/url.rb:70 2 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/helpers/tag_helper.rb:93 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 8 "15" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "16" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "17" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "18" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "2" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "20" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "22" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "23" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 8 "24" 2 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/numeric/conversions.rb:107 2 /usr/local/lib/ruby/2.6.0/uri/common.rb:388 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/object/to_query.rb:14 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/core_ext/string/output_safety.rb:39 1 /usr/local/bundle/gems/activesupport-5.2.2.1/lib/active_support/multibyte/unicode.rb:229 1 /usr/local/bundle/gems/rack-2.0.6/lib/rack/query_parser.rb:65 Retained String Report ----------------------------------- 28 "render_partial.action_view" 28 /usr/local/bundle/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43 1 "SELECT COUNT(*) FROM (SELECT 1 AS one FROM \"dishes\" LIMIT ? OFFSET ?) subquery_for_count" 1 /usr/local/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:6 1 "kaminari" 1 /opt/project/app/helpers/comparison_helper.rb:131 1 "kaminari_pagination" 1 /opt/project/app/helpers/comparison_helper.rb:131

Speed Benchmark

This is probably the most important and certainly the most striking comparison, but the result is not completely unexpected. Indeed, the poor performance of Will Paginate and Kaminari is also a consequence of the waste of objects shown in the previous chart. Besides - being small and easy to manage - Pagy has been optimized for performance almost line by line.

Iterations Per Second
Warming up -------------------------------------- pagy 483.000 i/100ms will_paginate 28.000 i/100ms kaminari 12.000 i/100ms Calculating ------------------------------------- pagy 4.836k (± 2.0%) i/s - 24.150k in 5.007906s will_paginate 276.383 (± 2.3%) i/s - 1.400k in 5.085959s kaminari 121.555 (± 2.4%) i/s - 612.000 in 5.057993s with 99.0% confidence Comparison: pagy: 4836.2 i/s will_paginate: 276.4 i/s - 17.50x (± 0.52) slower kaminari: 121.6 i/s - 39.79x (± 1.22) slower with 99.0% confidence

Correlation Between Metrics

In this chart you can visually appreciate the difference between the gems by just looking how close or far they are, big or small, fast or slow... You can also hover on the bubbles to read the data for each gem.

  • The speed is represented on the horizontal axis: left means slow, right means fast.
  • The size of the code is represented on the vertical axis: bottom means few LOC, top means many LOC.
  • The size of the bubble represents the memory used: small is good, big is bad
  • The darkness of the bubble represents the complexity: light-blue is simple, dark is complex.

Pagy is the smallest and lightest blue bubble. Its position is on the lowest and fastest bottom-right area of the chart. The other gems look quite close together on the slowest top-left area of the chart, and very far from Pagy. The dimension and colors of Will Paginate and Kaminari are quite similar between them, much darker and bigger than Pagy.

Efficiency Ratio (IPS/Kb)

GemIPS/KbScore
Pagy254.14~1410x more efficient
Will Paginate0.83~310x less efficient
Kaminari0.18~1410x less efficient

The IPS/Kb ratio is calculated out of speed (IPS) and Memory (Kb): it shows how well each gem uses any Kb of memory it allocates/consumes.

It is similar to the mileage of a car: how many Miles (or Kilometers) the car is capable to run per each Gallon (or Liter) of gasoline it consumes. It is the ratio between the good thing (distance) and the bad thing (gasoline or money paid for it). The higher the index, the better for your pockets.

For a software the good thing is the speed: how fast it can give you the output, and the bad thing is the memory required to do the job. Below is the calculation for this page: the difference between the gems is so extreme that cannot even be compared in a chart.

The IPS/Kb ratio is proportional to the hardware speed, so you may get different numbers on different hardwares, but about the same score (i.e. the ratios between gems).

For example, if you run this page on a computer that is 2 times faster, you should get all IPS/Kb 2 times greater, but the scores should be basically the same.

Score Summary

PagyWill PaginateKaminari
~40x faster~18x slower~40x slower
~36x less memory~18x more memory~36x more memory
~8x less LOC~8x more LOC~5x more LOC
~7x less modules~6x more modules~7x more modules
~4x less methods~4x more methods~4x more methods
~1410x more efficient~310x less efficient~1410x less efficient
Pagy outperforms the other gems in each and every score!