まつもと ゆきひろです.

オブジェクトサイズを削減しました.

In message "[ruby-list:486] Re: memory size"
    on 96/09/04, Yukihiro Matsumoto <matz / caelum.co.jp> writes:
|
|まつもと ゆきひろです.

|普通のobject
|
|  インスタンス変数が無い時 = 20 byte
|  インスタンス変数がある時 ≒ 48 + 12*変数の数 + 4*変数の数/3 byte

まずもともとのオブジェクトサイズは24バイトでした(勘違い).こ
れを20バイトにしました.

それからハッシュテーブルのサイズを28バイトから16バイトに削減
しました.これで上の数字は

<  インスタンス変数が無い時 = 20 byte
<  インスタンス変数がある時 ≒ 36 + 12*変数の数 + 4*変数の数/3 byte

になり,1オブジェクトあたり4〜16バイトの節約ですね.

|hash
|
|  サイズ ≒ 48 + 12*要素数 + 4*要素数/3 byte

こちらも1オブジェクトあたり16バイト小さくなりました.