# File lib/ruote/util/look.rb, line 69 def self.count uninteresting = [ Array, String, Hash, Set, Module, Range, Float, Bignum ] h = {} ObjectSpace.each_object do |o| next if uninteresting.include?(o.class) stats = h[o.class.to_s] ||= [ 0, 0, 0 ] size = (Marshal.dump(o).size rescue 1) stats[0] += 1 stats[1] = size if size > stats[1] stats[2] += size end a = h.to_a a.each { |k, v| v << v[2] / v[0] } a.sort { |x, y| x.last[1] <=> y.last[1] }.reverse end