Project

General

Profile

Actions

Feature #1630

closed

*_memsize()

Added by ko1 (Koichi Sasada) over 16 years ago. Updated over 14 years ago.

Status:
Closed
Target version:
-
[ruby-dev:38609]

Description

=begin
 ささだです.

 あるオブジェクトがどの程度メモリを食っているのか調べるための体系を作る
のはどうでしょうか.

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
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0