count_tdata_objects(result_hash = nil) -> HashRuby 1.9.3 から[permalink][rdoc][edit] [added by objspace]-
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
- [PARAM]
result_hash: - 戻り値のためのハッシュを指定します。省略した場合は新しくハッシュを作成します。result_hash の内容は上書きされます。プローブ効果を避けるために使用します。
- [EXCEPTION]
TypeError: - result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォーマンスに興味のある CRuby の開発者向けのものです。
例require 'objspace' p ObjectSpace.count_tdata_objects # => {RubyVM::InstructionSequence => 504, parser: 5, barrier: 6, # mutex: 6, Proc => 60, RubyVM::Env => 57, Mutex => 1, Encoding => 99, # ThreadGroup => 1, Binding => 1, Thread => 1, RubyVM => 1, iseq: 1, # Random => 1, ARGF.class => 1, Data => 1, autoload: 3, Time => 2}現在のバージョンでは、戻り値のキーはクラスオブジェクトかシンボルのオブジェクトです。
普通の参照可能なオブジェクトの場合、キーはクラスオブジェクトです。それ以外の内部的なオブジェクトの場合、キーはシンボルです。シンボルの値は rb_data_type_struct に格納された名前が使用されます。
戻り値のハッシュは処理系に依存します。これは将来変更になるかもしれません。
本メソッドは CRuby 以外では動作しません。
- [PARAM]