如何计算在Ruby中创建的对象数

如何计算在Ruby中创建的对象数,ruby,Ruby,可以计算Ruby应用程序中创建的对象总数吗?如果是,我怎么做 我知道如何计算我在中创建的给定类的实例数,但是有没有办法获得应用程序中任何类(包括内部类)创建的对象数 您应该使用 ObjectSpace.count_objects 例如,这是它在新的IRB会话上输出的内容: { :TOTAL => 30161, :FREE => 378, :T_OBJECT => 152, :T_CLASS => 884,

可以计算Ruby应用程序中创建的对象总数吗?如果是,我怎么做

我知道如何计算我在中创建的给定类的实例数,但是有没有办法获得应用程序中任何类(包括内部类)创建的对象数

您应该使用

ObjectSpace.count_objects
例如,这是它在新的IRB会话上输出的内容:

{
        :TOTAL => 30161,
         :FREE => 378,
     :T_OBJECT => 152,
      :T_CLASS => 884,
     :T_MODULE => 30,
      :T_FLOAT => 4,
     :T_STRING => 11517,
     :T_REGEXP => 165,
      :T_ARRAY => 3395,
       :T_HASH => 180,
     :T_STRUCT => 2,
     :T_BIGNUM => 2,
       :T_FILE => 15,
       :T_DATA => 1680,
      :T_MATCH => 99,
    :T_COMPLEX => 1,
       :T_NODE => 11620,
     :T_ICLASS => 37
}

ObjectSpace.count\u objects
@SergioTulentsev这是正确答案。你会这样贴吗?只是出于好奇,这有什么用?@DamianoStoffie:我想是内存使用优化吧。