[ruby-list:486] Re: memory size
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-09-04 06:11:15 UTC
List:
ruby-list #486
まつもと ゆきひろです.
In message "[ruby-list:485] Re: memory size"
on 96/09/04, 石塚圭樹 <keiju@shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです.
|正確には, B.clearです.
むむむ,それでは配列が大きくなっている可能性がありますね.現
在公開しているバージョンの配列は今まで配列に格納された最大領
域(+α)だけの領域を確保して小さくなることがありません.
これはclearしても同様です.
|で, お願いがあります. 個々のobject/hash/array/stringの実メモリサイズの
|計算式を教えて下さい.
普通のobject
インスタンス変数が無い時 = 20 byte
インスタンス変数がある時 ≒ 48 + 12*変数の数 + 4*変数の数/3 byte
hash
サイズ ≒ 48 + 12*要素数 + 4*要素数/3 byte
array
サイズ = 20 + 4*最大要素数
string
リテラルから生成されたもの = 20 byte
上記以外 = 20 + 文字列の長さ+1 byte
こうしてみるとハッシュテーブルを持つものの大きさが馬鹿になり
ませんね.ちょっと見直しの余地があるかなあ.
まつもと ゆきひろ /:|)