是否可以计算在 Ruby 应用程序中创建的对象总数?如果是这样,我该怎么做?
我知道如何计算我创建的给定类的实例数,在这篇文章中,但是有没有办法获取应用程序中任何类(包括内部类)创建的对象数?
你应该使用
ObjectSpace.count_objects
Run Code Online (Sandbox Code Playgroud)
例如,这是它在新的 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
}
Run Code Online (Sandbox Code Playgroud)