lib/rbbt/util/misc/development.rb in rbbt-util-5.13.31 vs lib/rbbt/util/misc/development.rb in rbbt-util-5.13.32

- old
+ new

@@ -218,6 +218,29 @@ total = ary.length p = random_sample_in_range(total, size) ary.values_at *p end end + + def self.object_delta(*args) + res, delta = nil, nil + Thread.exclusive do + pre = Set.new + delta = Set.new + + GC.start + ObjectSpace.each_object(*args) do |o| + pre.add o + end + + res = yield + + GC.start + ObjectSpace.each_object(*args) do |o| + delta.add o unless pre.include? o + end + + end + Log.info "Delta: #{delta.inspect}" + res + end end