From: SASADA Koichi Date: 2009-06-15T02:07:29+09:00 Subject: [ruby-dev:38609] [Feature: trunk] *_memsize()  ささだです.  あるオブジェクトがどの程度メモリを食っているのか調べるための体系を作る のはどうでしょうか. rb_ary_memsize(), onig_memsize(), rb_str_memsize(), rb_io_memsize(), st_memsize(), rb_transcoding_memsize(), rb_econv_memsize() を作ってみま した. http://www.atdot.net/sp/readonly/qzm8lk  多分,数え間違ってるだろうし,メモリアローケーション,まぁ,死ぬ (SEGV)することもないだろう,とか.  例えば,こんなふうにすると,ObjectSpace.count_objects のように,T_hoge ごとのメモリ利用量を調べる ObjectSpace.count_objects_size を作ることが出 来ます. http://www.atdot.net/sp/readonly/45n8lk  これと,ObjectSpace.count_objects を併用して,1オブジェクトあたりのメ モリ使用量の平均を出したグラフ: http://www.atdot.net/fp_store/f.lk88lk/file.g.png  ファイルが偉い大きくなってますね.  このままだと,T_DATA をまともに扱うことが出来ないのですが,この辺を扱 うための仕組みはまた今度提案します. -- // SASADA Koichi at atdot dot net