是否可以计算Ruby应用程序中创建的对象总数?如果是这样,我该怎么做?
我知道如何计算我创建的给定类的实例数,如this post所示,但有没有办法获取应用程序中任何类创建的对象数(包括内部类) )?
答案 0 :(得分:3)
你应该使用
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
}