Last active
October 19, 2022 20:18
-
-
Save timriley/417595e404e58efb92a5290a4942ef1a to your computer and use it in GitHub Desktop.
hanami-controller memory profile for Hanami::Action inheritance (with hanami-controller 2.0.0.beta4 and dry-configurable 0.16.1)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Running TIMES=10000 be ruby benchmarks/memory_profile_action.rb | |
Total allocated: 32766232 bytes (90004 objects) | |
Total retained: 32766232 bytes (90004 objects) | |
allocated memory by gem | |
----------------------------------- | |
21486072 other | |
10880120 dry-configurable-0.16.1 | |
400040 3.1.2/lib | |
allocated memory by file | |
----------------------------------- | |
21486072 benchmarks/memory_profile_action_temp.rb | |
9280000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb | |
1200080 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb | |
400040 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb | |
400040 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb | |
allocated memory by location | |
----------------------------------- | |
21486072 benchmarks/memory_profile_action_temp.rb:10 | |
9280000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb:52 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:288 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:16 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:193 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:37 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:42 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:246 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:82 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:27 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:30 | |
allocated memory by class | |
----------------------------------- | |
21086072 Class | |
10080080 Hash | |
400040 Hanami::Action::Config | |
400040 Set | |
400000 <<Unknown>> | |
400000 Dry::Configurable::Settings | |
allocated objects by gem | |
----------------------------------- | |
50003 dry-configurable-0.16.1 | |
30000 other | |
10001 3.1.2/lib | |
allocated objects by file | |
----------------------------------- | |
30002 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb | |
30000 benchmarks/memory_profile_action_temp.rb | |
10001 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb | |
10001 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb | |
allocated objects by location | |
----------------------------------- | |
30000 benchmarks/memory_profile_action_temp.rb:10 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:288 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:16 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:193 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:37 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:42 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb:52 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:246 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:82 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:27 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:30 | |
allocated objects by class | |
----------------------------------- | |
30002 Hash | |
20000 Class | |
10001 Hanami::Action::Config | |
10001 Set | |
10000 <<Unknown>> | |
10000 Dry::Configurable::Settings | |
retained memory by gem | |
----------------------------------- | |
21486072 other | |
10880120 dry-configurable-0.16.1 | |
400040 3.1.2/lib | |
retained memory by file | |
----------------------------------- | |
21486072 benchmarks/memory_profile_action_temp.rb | |
9280000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb | |
1200080 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb | |
400040 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb | |
400040 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb | |
retained memory by location | |
----------------------------------- | |
21486072 benchmarks/memory_profile_action_temp.rb:10 | |
9280000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb:52 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:288 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:16 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:193 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:37 | |
400000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:42 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:246 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:82 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:27 | |
40 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:30 | |
retained memory by class | |
----------------------------------- | |
21086072 Class | |
10080080 Hash | |
400040 Hanami::Action::Config | |
400040 Set | |
400000 <<Unknown>> | |
400000 Dry::Configurable::Settings | |
retained objects by gem | |
----------------------------------- | |
50003 dry-configurable-0.16.1 | |
30000 other | |
10001 3.1.2/lib | |
retained objects by file | |
----------------------------------- | |
30002 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb | |
30000 benchmarks/memory_profile_action_temp.rb | |
10001 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb | |
10001 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb | |
retained objects by location | |
----------------------------------- | |
30000 benchmarks/memory_profile_action_temp.rb:10 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:288 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:16 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:193 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:37 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:42 | |
10000 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/settings.rb:52 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/3.1.0/set.rb:246 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/class_methods.rb:82 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:27 | |
1 /Users/tim/.asdf/installs/ruby/3.1.2/lib/ruby/gems/3.1.0/gems/dry-configurable-0.16.1/lib/dry/configurable/config.rb:30 | |
retained objects by class | |
----------------------------------- | |
30002 Hash | |
20000 Class | |
10001 Hanami::Action::Config | |
10001 Set | |
10000 <<Unknown>> | |
10000 Dry::Configurable::Settings |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is the "after" profile. See https://gist.github.com/timriley/6c512c100c179070c673afc578618386 for the "before" profile.