gem_footprint_analyzer 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51f8dc305195b0396066fb37d2784977a39c225d8e8ebe9693811ecb66eeaec7
4
- data.tar.gz: d90ac3f57a39cb90d0f607ed98e2ee1787aa3be947ad757cde2f5ecb86fddd35
3
+ metadata.gz: 8e977cf9fc36c1045294e18296c00c63ab7b7e1ccf482691cb85a231a4e18273
4
+ data.tar.gz: d917cd40bb4ca7d2f608928337a880a04ef7bdb71a352fccb7279e46ca40d42b
5
5
  SHA512:
6
- metadata.gz: 3ecda064933c31a6316721de08859046f63beebfc9cc2bc68d9ff789996c4c7b2daae8135b7687a35684a0e42cd168f8f548d6156e76414313fd8010a5809d0b
7
- data.tar.gz: e0dc8d0ddd3bacc5b6e2411b212c8379a2ec94d87d0204310d82ba87fb261e4fd7298b211deb2972e405dfe3c5457224e05800304c10c4f43bee459a74c2c194
6
+ metadata.gz: c6c448e829e042a6620f774102cb04a80eca75fd9bc4c3b1593ffcd6b4947088493d51e789f90a298176c3f7c849c924f40f923cd5c923e18aa70b2a7e977fac
7
+ data.tar.gz: f16657789a803c5ee278e6af25e5b8505d2c97ebae833ee2b3f5fb13a69febe5b94509459cd6452e6e4cf6192c98ec743c672c20228db80fa5c61cd8d5b7e0b9
@@ -1,3 +1,4 @@
1
+ require: rubocop-rspec
1
2
  AllCops:
2
3
  Include:
3
4
  - 'lib/gem_footprint_analyzer/**/*.rb'
@@ -15,4 +16,7 @@ Layout/SpaceInsideHashLiteralBraces:
15
16
  EnforcedStyle: no_space
16
17
 
17
18
  Style/SignalException:
18
- EnforcedStyle: semantic
19
+ EnforcedStyle: semantic
20
+
21
+ RSpec/NestedGroups:
22
+ Max: 5
@@ -3,5 +3,12 @@ sudo: false
3
3
  language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
- - 2.5.1
7
- before_install: gem install bundler -v 1.16.4
6
+ - 2.5.3
7
+ - 2.2
8
+ before_install:
9
+ - gem install bundler -v 1.17.1
10
+ script:
11
+ - bundle exec rubocop
12
+ - bundle exec rspec
13
+ - bundle exec analyze_requires -d rubocop
14
+ - bundle exec analyze_requires net/http
data/Gemfile CHANGED
@@ -4,3 +4,4 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in gem_footprint_analyzer.gemspec
6
6
  gemspec
7
+
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gem_footprint_analyzer (0.1.3)
4
+ gem_footprint_analyzer (0.1.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -53,4 +53,4 @@ DEPENDENCIES
53
53
  rubocop-rspec
54
54
 
55
55
  BUNDLED WITH
56
- 1.16.4
56
+ 1.17.1
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # GemFootprintAnalyzer
2
+ [![Gem Version](https://badge.fury.io/rb/gem_footprint_analyzer.svg)](https://badge.fury.io/rb/gem_footprint_analyzer)
3
+ [![Build Status](https://travis-ci.com/irvingwashington/gem_footprint_analyzer.svg?branch=master)](https://travis-ci.com/irvingwashington/gem_footprint_analyzer)
2
4
 
3
- A tool for analyzing time and RSS footprint of gems or standard library requires, it's currently in a 'work in progress' state (developed on ruby-2.5.1 / macOS).
5
+ A tool for analyzing time and RSS footprint of gems or standard library requires.
6
+ Requires Ruby >= 2.2.0, works on Linux and MacOS.
4
7
 
5
8
  ## Installation
6
9
 
@@ -20,14 +23,34 @@ Or install it yourself as:
20
23
 
21
24
  ## Usage
22
25
 
23
- Analyze a standard library require or a gem. In the gem case, make sure it's included in the Gemfile.
26
+ You can use this gem with or without Bundler. Using Bundler is more convenient and does not have any
27
+ impact on results, however you have to have `gem_footprint_analyzer` present in your Gemfile
28
+ (use the development section).
24
29
 
25
- Example usages:
30
+ 1) with Bundler
31
+ ```bash
32
+ # Standard library
33
+ $ bundle exec analyze_requires net/http
34
+
35
+ # Gem with non-standard require
36
+ $ bundle exec analyze_requires activerecord active_record
37
+ ```
38
+
39
+ 2) without Bundler
40
+ ```bash
41
+ # Standard library
42
+ $ analyze_requires net/http
43
+
44
+ # Analyzing gems without Bundler will require you provide all dependencies paths in the RUBYLIB env var
45
+ $ RUBYLIB=/Users/irving/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib:/Users/irving/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/:/Users/irving/.gem/ruby/2.5.3/gems/concurrent-ruby-1.0.5/lib:/Users/irving/.gem/ruby/2.5.3/gems/i18n-1.1.1/lib:/Users/irving/.gem/ruby/2.5.3/gems/activemodel-5.2.1/lib:/Users/irving/.gem/ruby/2.5.3/gems/arel-9.0.0/lib:/Users/irving/.gem/ruby/2.5.3/gems/tzinfo-1.2.5/lib:/Users/irving/.gem/ruby/2.5.3/gems/thread_safe-0.3.6/lib analyze_requries activerecord active_record
46
+ ```
47
+
48
+ ## Example analyses (Ruby 2.5.3):
26
49
 
27
50
  ### timeout
28
51
  ```
29
- $ bundle exec analyze_requires timeout
30
- GemFootprintAnalyzer (0.1.1)
52
+ $ analyze_requires timeout
53
+ GemFootprintAnalyzer (0.1.5)
31
54
 
32
55
  Analyze results (average measured from 10 run(s))
33
56
  time is the amount of time given require has taken to complete
@@ -35,43 +58,66 @@ RSS is total memory increase up to the point after the require
35
58
 
36
59
  name time RSS after
37
60
  ------------------------
38
- timeout 3ms 2734KB
61
+ timeout 1ms 226KB
62
+
63
+ Total runtime 0.3430s
39
64
  ```
40
65
 
41
66
  ### net/http
42
67
  ```
43
- GemFootprintAnalyzer (0.1.1)
68
+ $ analyze_requires net/http
69
+ GemFootprintAnalyzer (0.1.5)
44
70
 
45
71
  Analyze results (average measured from 10 run(s))
46
72
  time is the amount of time given require has taken to complete
47
73
  RSS is total memory increase up to the point after the require
48
74
 
49
- name time RSS after
50
- -----------------------------------------------
51
- net/http 102ms 8605KB
52
- net/http/backward 1ms 8605KB
53
- net/http/proxy_delta 1ms 8510KB
54
- net/http/responses 2ms 8474KB
55
- net/http/response 2ms 8160KB
56
- net/http/requests 1ms 7984KB
57
- net/http/request 1ms 7801KB
58
- net/http/generic_request 2ms 7745KB
59
- net/http/header 2ms 7506KB
60
- net/http/exceptions 1ms 7215KB
61
- stringio 0ms 7039KB
62
- zlib 1ms 6920KB
63
- uri 0ms 6713KB
64
- net/protocol 28ms 6610KB
65
- io/wait 0ms 6610KB
66
- timeout 1ms 6397KB
67
- socket 12ms 6168KB
68
- io/wait 1ms 6168KB
69
- socket.so 2ms 5754KB
75
+ name time RSS after
76
+ ---------------------------------------------------
77
+ net/http 182ms 2897KB
78
+ net/http/backward 1ms 2897KB
79
+ net/http/proxy_delta 1ms 2886KB
80
+ net/http/responses 2ms 2885KB
81
+ net/http/response 2ms 2782KB
82
+ net/http/requests 1ms 2706KB
83
+ net/http/request 1ms 2676KB
84
+ net/http/generic_request 3ms 2670KB
85
+ net/http/header 2ms 2575KB
86
+ net/http/exceptions 1ms 2416KB
87
+ stringio 1ms 2397KB
88
+ zlib 1ms 2355KB
89
+ uri 78ms 2296KB
90
+ uri/mailto 2ms 2296KB
91
+ uri/generic 0ms 2296KB
92
+ uri/ldaps 1ms 2078KB
93
+ uri/ldap 0ms 2078KB
94
+ uri/ldap 1ms 2065KB
95
+ uri/generic 0ms 2065KB
96
+ uri/https 1ms 2016KB
97
+ uri/http 0ms 2016KB
98
+ uri/http 1ms 2012KB
99
+ uri/generic 0ms 2012KB
100
+ uri/ftp 1ms 2004KB
101
+ uri/generic 0ms 2004KB
102
+ uri/generic 4ms 1976KB
103
+ uri/common 0ms 1976KB
104
+ uri/common 14ms 1698KB
105
+ uri/rfc3986_parser 2ms 1693KB
106
+ uri/rfc2396_parser 2ms 1558KB
107
+ net/protocol 26ms 1190KB
108
+ io/wait 1ms 1190KB
109
+ timeout 1ms 1165KB
110
+ socket 10ms 1119KB
111
+ io/wait 1ms 1119KB
112
+ socket.so 1ms 1089KB
113
+
114
+ Total runtime 2.1813s
70
115
  ```
71
116
 
72
117
  ### activesupport/time
73
118
  ```
74
- GemFootprintAnalyzer (0.1.1)
119
+ $ bundle exec analyze_requires active_support active_support/time
120
+ GemFootprintAnalyzer (0.1.5)
75
121
 
76
122
  Analyze results (average measured from 10 run(s))
77
123
  time is the amount of time given require has taken to complete
@@ -79,242 +125,250 @@ RSS is total memory increase up to the point after the require
79
125
 
80
126
  name time RSS after
81
127
  -------------------------------------------------------------------------------------
82
- active_support/time 1018ms 13511KB
83
- active_support/core_ext/string/zones 5ms 13511KB
84
- active_support/core_ext/time/zones 0ms 13511KB
85
- active_support/core_ext/string/conversions 0ms 13456KB
86
- active_support/core_ext/string/conversions 5ms 13451KB
87
- active_support/core_ext/time/calculations 0ms 13451KB
88
- date 0ms 13443KB
89
- active_support/core_ext/numeric/time 0ms 13416KB
90
- active_support/core_ext/integer/time 21ms 13413KB
91
- active_support/core_ext/numeric/time 16ms 13413KB
92
- active_support/core_ext/date/acts_like 0ms 13413KB
93
- active_support/core_ext/date/calculations 0ms 13376KB
94
- active_support/core_ext/time/acts_like 0ms 13371KB
95
- active_support/core_ext/time/calculations 0ms 13364KB
96
- active_support/duration 0ms 13364KB
97
- active_support/duration 0ms 13351KB
98
- active_support/core_ext/date_time 54ms 13339KB
99
- active_support/core_ext/date_time/conversions 17ms 13339KB
100
- active_support/values/time_zone 0ms 13339KB
101
- active_support/core_ext/date_time/calculations 0ms 13326KB
102
- active_support/core_ext/time/conversions 0ms 13323KB
103
- active_support/inflector/methods 0ms 13322KB
104
- date 0ms 13317KB
105
- active_support/core_ext/date_time/compatibility 5ms 13300KB
106
- active_support/core_ext/module/redefine_method 0ms 13300KB
107
- active_support/core_ext/date_and_time/compatibility 0ms 13287KB
108
- active_support/core_ext/date_time/calculations 0ms 13282KB
109
- active_support/core_ext/date_time/blank 1ms 13278KB
110
- date 0ms 13278KB
111
- active_support/core_ext/date_time/acts_like 5ms 13264KB
112
- active_support/core_ext/object/acts_like 0ms 13264KB
113
- date 0ms 13252KB
114
- active_support/core_ext/date 42ms 13247KB
115
- active_support/core_ext/date/zones 0ms 13247KB
116
- active_support/core_ext/date/conversions 13ms 13241KB
117
- active_support/core_ext/module/redefine_method 0ms 13241KB
118
- active_support/core_ext/date/zones 0ms 13231KB
119
- active_support/inflector/methods 0ms 13227KB
120
- date 0ms 13221KB
121
- active_support/core_ext/date/calculations 0ms 13204KB
122
- active_support/core_ext/date/blank 1ms 13201KB
123
- date 0ms 13201KB
124
- active_support/core_ext/date/acts_like 1ms 13197KB
125
- active_support/core_ext/object/acts_like 0ms 13197KB
126
- active_support/core_ext/time 817ms 13185KB
127
- active_support/core_ext/time/zones 0ms 13185KB
128
- active_support/core_ext/time/conversions 0ms 13172KB
129
- active_support/core_ext/time/compatibility 6ms 13170KB
130
- active_support/core_ext/module/redefine_method 1ms 13170KB
131
- active_support/core_ext/date_and_time/compatibility 0ms 13147KB
132
- active_support/core_ext/time/calculations 779ms 13142KB
133
- active_support/core_ext/date/calculations 30ms 13142KB
134
- active_support/core_ext/date_and_time/calculations 0ms 13142KB
135
- active_support/core_ext/time/zones 0ms 13124KB
136
- active_support/core_ext/date/zones 5ms 13119KB
137
- active_support/core_ext/date_and_time/zones 0ms 13119KB
138
- date 0ms 13107KB
139
- active_support/core_ext/object/acts_like 0ms 13094KB
140
- active_support/duration 0ms 13092KB
141
- date 0ms 13088KB
142
- active_support/core_ext/date_and_time/calculations 3ms 13058KB
143
- active_support/core_ext/object/try 1ms 13058KB
144
- delegate 0ms 13058KB
145
- active_support/core_ext/time/zones 10ms 12970KB
146
- active_support/core_ext/date_and_time/zones 1ms 12970KB
147
- active_support/core_ext/time/acts_like 0ms 12900KB
148
- active_support/time_with_zone 0ms 12890KB
149
- active_support/time_with_zone 22ms 12858KB
150
- active_support/core_ext/date_and_time/compatibility 6ms 12858KB
151
- active_support/core_ext/module/attribute_accessors 5ms 12858KB
152
- active_support/core_ext/regexp 0ms 12858KB
153
- active_support/core_ext/array/extract_options 0ms 12775KB
154
- active_support/core_ext/object/acts_like 0ms 12746KB
155
- active_support/values/time_zone 0ms 12739KB
156
- active_support/duration 0ms 12732KB
157
- active_support/core_ext/time/conversions 219ms 12490KB
158
- active_support/values/time_zone 215ms 12490KB
159
- active_support/core_ext/object/blank 0ms 12490KB
160
- concurrent/map 0ms 12439KB
161
- tzinfo 200ms 12437KB
162
- tzinfo/country_timezone 1ms 12437KB
163
- tzinfo/country 1ms 12369KB
164
- thread_safe 0ms 12369KB
165
- tzinfo/zoneinfo_country_info 0ms 12275KB
166
- tzinfo/ruby_country_info 1ms 12266KB
167
- tzinfo/country_info 1ms 12214KB
168
- tzinfo/country_index_definition 0ms 12196KB
169
- tzinfo/timezone_proxy 1ms 12156KB
170
- tzinfo/linked_timezone 1ms 12126KB
171
- tzinfo/data_timezone 0ms 12083KB
172
- tzinfo/info_timezone 0ms 12067KB
173
- tzinfo/timezone 40ms 12017KB
174
- thread_safe/cache 7ms 12017KB
175
- thread_safe/mri_cache_backend 2ms 12017KB
176
- thread_safe/non_concurrent_cache_backend 1ms 12017KB
177
- thread 0ms 11934KB
178
- thread_safe 11ms 11846KB
179
- thread_safe/synchronized_delegator 5ms 11846KB
180
- monitor 0ms 11846KB
181
- delegate 0ms 11791KB
182
- thread_safe/version 0ms 11782KB
183
- set 0ms 11764KB
184
- date 0ms 11763KB
185
- tzinfo/timezone_period 1ms 11679KB
186
- tzinfo/zoneinfo_data_source 2ms 11641KB
187
- tzinfo/ruby_data_source 1ms 11597KB
188
- tzinfo/data_source 1ms 11569KB
189
- thread 0ms 11569KB
190
- tzinfo/zoneinfo_timezone_info 1ms 11553KB
191
- tzinfo/transition_data_timezone_info 1ms 11498KB
192
- tzinfo/linked_timezone_info 0ms 11456KB
193
- tzinfo/data_timezone_info 0ms 11440KB
194
- tzinfo/timezone_info 0ms 11431KB
195
- tzinfo/timezone_index_definition 0ms 11424KB
196
- tzinfo/timezone_transition_definition 1ms 11416KB
197
- tzinfo/timezone_transition 1ms 11400KB
198
- tzinfo/timezone_offset 1ms 11388KB
199
- tzinfo/timezone_definition 0ms 11367KB
200
- tzinfo/time_or_datetime 5ms 11353KB
201
- time 0ms 11353KB
202
- date 0ms 11344KB
203
- tzinfo/offset_rationals 1ms 11306KB
204
- tzinfo/ruby_core_support 1ms 11263KB
205
- date 0ms 11263KB
206
- active_support/inflector/methods 0ms 11081KB
207
- active_support/duration 442ms 11070KB
208
- active_support/deprecation 0ms 11070KB
209
- active_support/core_ext/string/filters 1ms 11042KB
210
- active_support/core_ext/object/acts_like 0ms 11034KB
211
- active_support/core_ext/module/delegation 0ms 11030KB
212
- active_support/core_ext/array/conversions 419ms 11026KB
213
- active_support/core_ext/object/to_query 0ms 11026KB
214
- active_support/core_ext/object/to_param 1ms 11013KB
215
- active_support/core_ext/object/to_query 1ms 11013KB
216
- cgi 0ms 11013KB
217
- active_support/core_ext/string/inflections 0ms 10974KB
218
- active_support/core_ext/hash/keys 1ms 10967KB
219
- active_support/xml_mini 385ms 10915KB
220
- active_support/xml_mini/rexml 20ms 10915KB
221
- stringio 0ms 10915KB
222
- active_support/core_ext/object/blank 5ms 10910KB
223
- concurrent/map 0ms 10910KB
224
- active_support/core_ext/regexp 0ms 10890KB
225
- active_support/core_ext/kernel/reporting 1ms 10861KB
226
- active_support/core_ext/date_time/calculations 1ms 10816KB
227
- date 0ms 10816KB
228
- active_support/core_ext/string/inflections 316ms 10741KB
229
- active_support/inflector/transliterate 10ms 10741KB
230
- active_support/i18n 0ms 10741KB
231
- active_support/core_ext/string/multibyte 1ms 10721KB
232
- active_support/multibyte 0ms 10721KB
233
- active_support/inflector/methods 298ms 10675KB
234
- active_support/core_ext/regexp 0ms 10675KB
235
- active_support/inflections 283ms 10660KB
236
- active_support/inflector/inflections 281ms 10660KB
237
- active_support/deprecation 96ms 10660KB
238
- active_support/core_ext/module/deprecation 1ms 10660KB
239
- active_support/deprecation/proxy_wrappers 1ms 10406KB
240
- active_support/core_ext/regexp 0ms 10406KB
241
- active_support/deprecation/method_wrappers 6ms 10334KB
242
- active_support/core_ext/array/extract_options 1ms 10334KB
243
- active_support/core_ext/module/aliasing 1ms 10312KB
244
- active_support/deprecation/constant_accessor 1ms 10298KB
245
- active_support/deprecation/reporting 1ms 10286KB
246
- rbconfig 0ms 10286KB
247
- active_support/deprecation/behaviors 26ms 10247KB
248
- active_support/notifications 25ms 10247KB
249
- active_support/per_thread_registry 1ms 10247KB
250
- active_support/core_ext/module/delegation 0ms 10247KB
251
- active_support/notifications/fanout 6ms 10200KB
252
- concurrent/map 0ms 10200KB
253
- mutex_m 1ms 10186KB
254
- active_support/notifications/instrumenter 2ms 10164KB
255
- securerandom 1ms 10164KB
256
- active_support/deprecation/instance_delegator 5ms 10052KB
257
- active_support/core_ext/module/delegation 0ms 10052KB
258
- active_support/core_ext/kernel/singleton_class 1ms 10033KB
259
- singleton 1ms 10026KB
260
- active_support/i18n 48ms 9995KB
261
- i18n/config 1ms 9995KB
262
- set 0ms 9995KB
263
- active_support/lazy_load_hooks 1ms 9914KB
264
- i18n 20ms 9886KB
265
- i18n/interpolate/ruby 1ms 9886KB
266
- i18n/exceptions 1ms 9765KB
267
- cgi 0ms 9765KB
268
- i18n/version 0ms 9620KB
269
- concurrent/map 0ms 9598KB
270
- active_support/core_ext/hash/slice 1ms 9491KB
271
- active_support/core_ext/hash/except 0ms 9425KB
272
- active_support/core_ext/hash/deep_merge 1ms 9403KB
273
- active_support/core_ext/regexp 0ms 9326KB
274
- active_support/core_ext/array/prepend_and_append 0ms 9308KB
275
- concurrent/map 102ms 9282KB
276
- concurrent/collection/map/mri_map_backend 6ms 9282KB
277
- concurrent/collection/map/non_concurrent_map_backend 1ms 9282KB
278
- concurrent/constants 0ms 9282KB
279
- thread 0ms 9021KB
280
- concurrent/synchronization 79ms 8911KB
281
- concurrent/synchronization/lock 1ms 8911KB
282
- concurrent/synchronization/condition 1ms 8835KB
283
- concurrent/synchronization/lockable_object 1ms 8729KB
284
- concurrent/synchronization/truffle_lockable_object 0ms 8659KB
285
- concurrent/synchronization/rbx_lockable_object 1ms 8619KB
286
- concurrent/synchronization/jruby_lockable_object 0ms 8567KB
287
- concurrent/synchronization/mri_lockable_object 1ms 8532KB
288
- concurrent/synchronization/abstract_lockable_object 1ms 8468KB
289
- concurrent/synchronization/volatile 0ms 8412KB
290
- concurrent/synchronization/object 1ms 8359KB
291
- concurrent/synchronization/truffle_object 1ms 8238KB
292
- concurrent/synchronization/rbx_object 1ms 8188KB
293
- concurrent/synchronization/jruby_object 1ms 8124KB
294
- concurrent/synchronization/mri_object 1ms 8076KB
295
- concurrent/utility/native_extension_loader 1ms 8000KB
296
- concurrent/utility/engine 0ms 8000KB
297
- concurrent/synchronization/abstract_object 0ms 7898KB
298
- concurrent/utility/engine 1ms 7836KB
299
- concurrent/constants 0ms 7749KB
300
- thread 0ms 7675KB
301
- active_support/core_ext/module/delegation 7ms 7019KB
302
- active_support/core_ext/regexp 0ms 7019KB
303
- set 0ms 6888KB
304
- bigdecimal 1ms 6718KB
305
- base64 1ms 6492KB
306
- time 0ms 6321KB
307
- active_support/core_ext/time/acts_like 1ms 5086KB
308
- active_support/core_ext/object/acts_like 0ms 5086KB
309
- time 4ms 4698KB
310
- date 0ms 4698KB
311
- date 4ms 3610KB
312
- date_core 2ms 3610KB
128
+ active_support/time 1082ms 5084KB
129
+ active_support/core_ext/string/zones 5ms 5084KB
130
+ active_support/core_ext/time/zones 0ms 5084KB
131
+ active_support/core_ext/string/conversions 0ms 5082KB
132
+ active_support/core_ext/string/conversions 5ms 5080KB
133
+ active_support/core_ext/time/calculations 0ms 5080KB
134
+ date 0ms 5078KB
135
+ active_support/core_ext/numeric/time 0ms 5074KB
136
+ active_support/core_ext/integer/time 23ms 5074KB
137
+ active_support/core_ext/numeric/time 18ms 5074KB
138
+ active_support/core_ext/date/acts_like 0ms 5074KB
139
+ active_support/core_ext/date/calculations 0ms 5066KB
140
+ active_support/core_ext/time/acts_like 0ms 5066KB
141
+ active_support/core_ext/time/calculations 0ms 5066KB
142
+ active_support/duration 0ms 5064KB
143
+ active_support/duration 0ms 5060KB
144
+ active_support/core_ext/date_time 56ms 5058KB
145
+ active_support/core_ext/date_time/conversions 18ms 5058KB
146
+ active_support/values/time_zone 0ms 5058KB
147
+ active_support/core_ext/date_time/calculations 0ms 5047KB
148
+ active_support/core_ext/time/conversions 0ms 5046KB
149
+ active_support/inflector/methods 0ms 5043KB
150
+ date 0ms 5043KB
151
+ active_support/core_ext/date_time/compatibility 5ms 5040KB
152
+ active_support/core_ext/module/redefine_method 0ms 5040KB
153
+ active_support/core_ext/date_and_time/compatibility 0ms 5036KB
154
+ active_support/core_ext/date_time/calculations 0ms 5033KB
155
+ active_support/core_ext/date_time/blank 1ms 5033KB
156
+ date 0ms 5033KB
157
+ active_support/core_ext/date_time/acts_like 5ms 5028KB
158
+ active_support/core_ext/object/acts_like 0ms 5028KB
159
+ date 0ms 5025KB
160
+ active_support/core_ext/date 43ms 5016KB
161
+ active_support/core_ext/date/zones 0ms 5016KB
162
+ active_support/core_ext/date/conversions 13ms 5011KB
163
+ active_support/core_ext/module/redefine_method 0ms 5011KB
164
+ active_support/core_ext/date/zones 0ms 5002KB
165
+ active_support/inflector/methods 0ms 5000KB
166
+ date 0ms 4997KB
167
+ active_support/core_ext/date/calculations 0ms 4989KB
168
+ active_support/core_ext/date/blank 1ms 4987KB
169
+ date 0ms 4987KB
170
+ active_support/core_ext/date/acts_like 1ms 4975KB
171
+ active_support/core_ext/object/acts_like 0ms 4975KB
172
+ active_support/core_ext/time 878ms 4964KB
173
+ active_support/core_ext/time/zones 0ms 4964KB
174
+ active_support/core_ext/time/conversions 0ms 4959KB
175
+ active_support/core_ext/time/compatibility 6ms 4958KB
176
+ active_support/core_ext/module/redefine_method 1ms 4958KB
177
+ active_support/core_ext/date_and_time/compatibility 0ms 4939KB
178
+ active_support/core_ext/time/calculations 839ms 4931KB
179
+ active_support/core_ext/date/calculations 31ms 4931KB
180
+ active_support/core_ext/date_and_time/calculations 0ms 4931KB
181
+ active_support/core_ext/time/zones 0ms 4919KB
182
+ active_support/core_ext/date/zones 5ms 4916KB
183
+ active_support/core_ext/date_and_time/zones 0ms 4916KB
184
+ date 0ms 4910KB
185
+ active_support/core_ext/object/acts_like 0ms 4904KB
186
+ active_support/duration 0ms 4904KB
187
+ date 0ms 4904KB
188
+ active_support/core_ext/date_and_time/calculations 3ms 4879KB
189
+ active_support/core_ext/object/try 1ms 4879KB
190
+ delegate 0ms 4879KB
191
+ active_support/core_ext/time/zones 10ms 4808KB
192
+ active_support/core_ext/date_and_time/zones 1ms 4808KB
193
+ active_support/core_ext/time/acts_like 0ms 4798KB
194
+ active_support/time_with_zone 0ms 4796KB
195
+ active_support/time_with_zone 22ms 4788KB
196
+ active_support/core_ext/date_and_time/compatibility 6ms 4788KB
197
+ active_support/core_ext/module/attribute_accessors 5ms 4788KB
198
+ active_support/core_ext/regexp 0ms 4788KB
199
+ active_support/core_ext/array/extract_options 0ms 4762KB
200
+ active_support/core_ext/object/acts_like 0ms 4747KB
201
+ active_support/values/time_zone 0ms 4747KB
202
+ active_support/duration 0ms 4746KB
203
+ active_support/core_ext/time/conversions 228ms 4628KB
204
+ active_support/values/time_zone 223ms 4628KB
205
+ active_support/core_ext/object/blank 0ms 4628KB
206
+ concurrent/map 0ms 4599KB
207
+ tzinfo 208ms 4594KB
208
+ tzinfo/country_timezone 1ms 4594KB
209
+ tzinfo/country 1ms 4581KB
210
+ thread_safe 0ms 4581KB
211
+ tzinfo/zoneinfo_country_info 1ms 4566KB
212
+ tzinfo/ruby_country_info 1ms 4561KB
213
+ tzinfo/country_info 1ms 4560KB
214
+ tzinfo/country_index_definition 1ms 4554KB
215
+ tzinfo/timezone_proxy 1ms 4552KB
216
+ tzinfo/linked_timezone 1ms 4547KB
217
+ tzinfo/data_timezone 1ms 4540KB
218
+ tzinfo/info_timezone 1ms 4538KB
219
+ tzinfo/timezone 43ms 4532KB
220
+ thread_safe/cache 8ms 4532KB
221
+ thread_safe/mri_cache_backend 2ms 4532KB
222
+ thread_safe/non_concurrent_cache_backend 1ms 4532KB
223
+ thread 0ms 4460KB
224
+ thread_safe 13ms 4418KB
225
+ thread_safe/synchronized_delegator 8ms 4418KB
226
+ monitor 1ms 4418KB
227
+ delegate 2ms 4384KB
228
+ thread_safe/version 0ms 4353KB
229
+ set 0ms 4352KB
230
+ date 0ms 4351KB
231
+ tzinfo/timezone_period 1ms 4292KB
232
+ tzinfo/zoneinfo_data_source 2ms 4269KB
233
+ tzinfo/ruby_data_source 1ms 4208KB
234
+ tzinfo/data_source 1ms 4196KB
235
+ thread 0ms 4196KB
236
+ tzinfo/zoneinfo_timezone_info 2ms 4175KB
237
+ tzinfo/transition_data_timezone_info 1ms 4095KB
238
+ tzinfo/linked_timezone_info 1ms 4052KB
239
+ tzinfo/data_timezone_info 1ms 4037KB
240
+ tzinfo/timezone_info 1ms 4026KB
241
+ tzinfo/timezone_index_definition 1ms 4020KB
242
+ tzinfo/timezone_transition_definition 1ms 4012KB
243
+ tzinfo/timezone_transition 1ms 4002KB
244
+ tzinfo/timezone_offset 1ms 3991KB
245
+ tzinfo/timezone_definition 1ms 3977KB
246
+ tzinfo/time_or_datetime 5ms 3974KB
247
+ time 0ms 3974KB
248
+ date 0ms 3970KB
249
+ tzinfo/offset_rationals 1ms 3953KB
250
+ tzinfo/ruby_core_support 1ms 3940KB
251
+ date 0ms 3940KB
252
+ active_support/inflector/methods 0ms 3836KB
253
+ active_support/duration 491ms 3833KB
254
+ active_support/deprecation 0ms 3833KB
255
+ active_support/core_ext/string/filters 1ms 3779KB
256
+ active_support/core_ext/object/acts_like 0ms 3775KB
257
+ active_support/core_ext/module/delegation 0ms 3774KB
258
+ active_support/core_ext/array/conversions 468ms 3772KB
259
+ active_support/core_ext/object/to_query 0ms 3772KB
260
+ active_support/core_ext/object/to_param 2ms 3768KB
261
+ active_support/core_ext/object/to_query 1ms 3768KB
262
+ cgi 0ms 3768KB
263
+ active_support/core_ext/string/inflections 0ms 3765KB
264
+ active_support/core_ext/hash/keys 1ms 3765KB
265
+ active_support/xml_mini 434ms 3756KB
266
+ active_support/xml_mini/rexml 20ms 3756KB
267
+ stringio 1ms 3756KB
268
+ active_support/core_ext/object/blank 5ms 3734KB
269
+ concurrent/map 0ms 3734KB
270
+ active_support/core_ext/regexp 0ms 3730KB
271
+ active_support/core_ext/kernel/reporting 1ms 3718KB
272
+ active_support/core_ext/date_time/calculations 2ms 3711KB
273
+ date 0ms 3711KB
274
+ active_support/core_ext/string/inflections 361ms 3669KB
275
+ active_support/inflector/transliterate 10ms 3669KB
276
+ active_support/i18n 0ms 3669KB
277
+ active_support/core_ext/string/multibyte 1ms 3653KB
278
+ active_support/multibyte 0ms 3653KB
279
+ active_support/inflector/methods 342ms 3638KB
280
+ active_support/core_ext/regexp 0ms 3638KB
281
+ active_support/inflections 326ms 3618KB
282
+ active_support/inflector/inflections 324ms 3618KB
283
+ active_support/deprecation 104ms 3618KB
284
+ active_support/core_ext/module/deprecation 1ms 3618KB
285
+ active_support/deprecation/proxy_wrappers 1ms 3390KB
286
+ active_support/core_ext/regexp 0ms 3390KB
287
+ active_support/deprecation/method_wrappers 6ms 3376KB
288
+ active_support/core_ext/array/extract_options 1ms 3376KB
289
+ active_support/core_ext/module/aliasing 1ms 3374KB
290
+ active_support/deprecation/constant_accessor 1ms 3365KB
291
+ active_support/deprecation/reporting 4ms 3346KB
292
+ rbconfig 3ms 3346KB
293
+ active_support/deprecation/behaviors 27ms 3106KB
294
+ active_support/notifications 26ms 3106KB
295
+ active_support/per_thread_registry 1ms 3106KB
296
+ active_support/core_ext/module/delegation 0ms 3106KB
297
+ active_support/notifications/fanout 6ms 3056KB
298
+ concurrent/map 0ms 3056KB
299
+ mutex_m 1ms 3039KB
300
+ active_support/notifications/instrumenter 2ms 2985KB
301
+ securerandom 1ms 2985KB
302
+ active_support/deprecation/instance_delegator 6ms 2867KB
303
+ active_support/core_ext/module/delegation 0ms 2867KB
304
+ active_support/core_ext/kernel/singleton_class 1ms 2840KB
305
+ singleton 1ms 2828KB
306
+ active_support/i18n 77ms 2786KB
307
+ i18n/config 1ms 2786KB
308
+ set 0ms 2786KB
309
+ active_support/lazy_load_hooks 1ms 2740KB
310
+ i18n 48ms 2718KB
311
+ i18n/interpolate/ruby 1ms 2718KB
312
+ i18n/exceptions 25ms 2543KB
313
+ cgi 24ms 2543KB
314
+ cgi/util 0ms 2543KB
315
+ cgi/cookie 4ms 2528KB
316
+ cgi/util 3ms 2528KB
317
+ cgi/escape 1ms 2528KB
318
+ cgi/core 3ms 2452KB
319
+ i18n/version 0ms 2228KB
320
+ concurrent/map 0ms 2220KB
321
+ active_support/core_ext/hash/slice 1ms 2181KB
322
+ active_support/core_ext/hash/except 1ms 2164KB
323
+ active_support/core_ext/hash/deep_merge 1ms 2154KB
324
+ active_support/core_ext/regexp 0ms 2142KB
325
+ active_support/core_ext/array/prepend_and_append 1ms 2137KB
326
+ concurrent/map 107ms 2124KB
327
+ concurrent/collection/map/mri_map_backend 6ms 2124KB
328
+ concurrent/collection/map/non_concurrent_map_backend 1ms 2124KB
329
+ concurrent/constants 0ms 2124KB
330
+ thread 0ms 2070KB
331
+ concurrent/synchronization 82ms 2055KB
332
+ concurrent/synchronization/lock 1ms 2055KB
333
+ concurrent/synchronization/condition 1ms 2042KB
334
+ concurrent/synchronization/lockable_object 1ms 2021KB
335
+ concurrent/synchronization/truffle_lockable_object 1ms 1994KB
336
+ concurrent/synchronization/rbx_lockable_object 1ms 1986KB
337
+ concurrent/synchronization/jruby_lockable_object 1ms 1966KB
338
+ concurrent/synchronization/mri_lockable_object 1ms 1949KB
339
+ concurrent/synchronization/abstract_lockable_object 1ms 1914KB
340
+ concurrent/synchronization/volatile 1ms 1891KB
341
+ concurrent/synchronization/object 1ms 1866KB
342
+ concurrent/synchronization/truffle_object 1ms 1815KB
343
+ concurrent/synchronization/rbx_object 1ms 1779KB
344
+ concurrent/synchronization/jruby_object 1ms 1742KB
345
+ concurrent/synchronization/mri_object 1ms 1707KB
346
+ concurrent/utility/native_extension_loader 1ms 1660KB
347
+ concurrent/utility/engine 0ms 1660KB
348
+ concurrent/synchronization/abstract_object 1ms 1581KB
349
+ concurrent/utility/engine 1ms 1562KB
350
+ concurrent/constants 0ms 1506KB
351
+ thread 0ms 1490KB
352
+ active_support/core_ext/module/delegation 8ms 1325KB
353
+ active_support/core_ext/regexp 1ms 1325KB
354
+ set 2ms 1304KB
355
+ bigdecimal 1ms 1159KB
356
+ base64 1ms 1108KB
357
+ time 0ms 1098KB
358
+ active_support/core_ext/time/acts_like 1ms 655KB
359
+ active_support/core_ext/object/acts_like 0ms 655KB
360
+ time 3ms 610KB
361
+ date 0ms 610KB
362
+ date 2ms 367KB
363
+ date_core 1ms 367KB
364
+
365
+ Total runtime 11.2834s
313
366
  ```
314
367
 
315
368
  ### archfiend
316
369
  ```
317
- GemFootprintAnalyzer (0.1.1)
370
+ $ bundle exec analyze_requires archfiend
371
+ GemFootprintAnalyzer (0.1.5)
318
372
 
319
373
  Analyze results (average measured from 10 run(s))
320
374
  time is the amount of time given require has taken to complete
@@ -322,19 +376,23 @@ RSS is total memory increase up to the point after the require
322
376
 
323
377
  name time RSS after
324
378
  ----------------------------------------------------------
325
- archfiend 62ms 6658KB
326
- archfiend/subprocess_loop 1ms 6658KB
327
- archfiend/thread_loop 1ms 6345KB
328
- archfiend/shared_loop/runnable 1ms 6150KB
329
- archfiend/logging/multi_logger 1ms 6012KB
330
- archfiend/logging/default_formatter 1ms 5816KB
331
- archfiend/logging/base_formatter 1ms 5640KB
332
- archfiend/logging 5ms 5420KB
333
- logger 4ms 5420KB
334
- monitor 0ms 5420KB
335
- archfiend/application 3ms 3942KB
336
- archfiend/version 1ms 2395KB
337
- forwardable 0ms 1858KB
379
+ archfiend 64ms 888KB
380
+ archfiend/daemon 1ms 888KB
381
+ archfiend/subprocess_loop 1ms 855KB
382
+ archfiend/thread_loop 1ms 835KB
383
+ archfiend/shared_loop/runnable 0ms 820KB
384
+ archfiend/logging/multi_logger 1ms 817KB
385
+ archfiend/logging/default_formatter 0ms 804KB
386
+ archfiend/logging/base_formatter 1ms 800KB
387
+ archfiend/logging 5ms 779KB
388
+ logger 4ms 779KB
389
+ monitor 1ms 779KB
390
+ archfiend/application 1ms 490KB
391
+ archfiend/version 0ms 327KB
392
+ forwardable 2ms 309KB
393
+ forwardable/impl 1ms 309KB
394
+
395
+ Total runtime 0.9878s
338
396
  ```
339
397
 
340
398
  ## Contributing