From: ko1@... Date: 2020-08-27T00:19:09+00:00 Subject: [ruby-core:99718] [Ruby master Feature#17103] Add a :since option to ObjectSpace.dump_all Issue #17103 has been updated by ko1 (Koichi Sasada). I missed "allocation tracing disabled are not dumped" sentence. And changed version is more helpful. Now I don't have any objection. One suggestion is, "since" integer is not clear yet (even if `trace_object_allocations` describes it), so it is helpful to explain it is integer from `GC.count`. ---------------------------------------- Feature #17103: Add a :since option to ObjectSpace.dump_all https://bugs.ruby-lang.org/issues/17103#change-87208 * 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: