From: ko1@... Date: 2020-08-24T04:49:28+00:00 Subject: [ruby-core:99678] [Ruby master Feature#17103] Add a :since option to ObjectSpace.dump_all Issue #17103 has been updated by ko1 (Koichi Sasada). this feature strongly connected with `trace_object_allocations`, right? so please write it on document. what happens on without `trace_object_allocations`? it is unclear. ---------------------------------------- Feature #17103: Add a :since option to ObjectSpace.dump_all https://bugs.ruby-lang.org/issues/17103#change-87165 * Author: byroot (Jean Boussier) * Status: Open * Priority: Normal ---------------------------------------- Patch: https://github.com/ruby/ruby/pull/3368 This is useful for seeing what a block of code allocated, e.g. ```ruby GC.start GC.disable gc_gen = GC.count ObjectSpace.trace_object_allocations do # run some code end allocations = ObjectSpace.dump_all(output: :file, since: gc_gen) GC.enable GC.start retentions = ObjectSpace.dump_all(output: :file, since: gc_gen) ``` For context, this is what I do in https://github.com/Shopify/heap-profiler, except that I have to dump the entire heap three times and then do a diff. This new API would allow me to dump the entire heap only once and then do two much-faster single-generation dumps without doing the diff. -- https://bugs.ruby-lang.org/ Unsubscribe: