This page displays recorded data as static HTML, hence the pagination links don't work.
In order to enable all the functionalities and run Benchmarks and Memory Profiles on your hardware, please install the app.
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.
Pagy | Will Paginate | Kaminari |
---|---|---|
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 |
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.
Pagy | Will Paginate | Kaminari |
---|---|---|
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 |
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.
Pagy | Will Paginate | Kaminari |
---|---|---|
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 "…"
1 (eval):1
1 "‹ 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\">‹ 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 ›</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\">…</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 ›</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\">‹ 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 ›"
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
|
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 |
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.
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.
Gem | IPS/Kb | Score |
---|---|---|
Pagy | 254.14 | ~1410x more efficient |
Will Paginate | 0.83 | ~310x less efficient |
Kaminari | 0.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.
Pagy | Will Paginate | Kaminari |
---|---|---|
~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 |
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.