Introduction
mruby におけるインスタンス変数テーブル (以降、構造体名をとって iv_tbl と記します) のメモリー使用量を削減することを目的として、iv_tbl のデータ構造を次のように変更しました。
- 環境によってはハッシュバケットの構造体にパディングがあるため、パディングができないようにハッシュテーブルのキーのみとバリューのみを連続させた。
iv_tblサイズの上限をUINT16_MAXにしてサイズと容量の保持領域を削減した。iv_tbl*がハッシュバケットを直接参照するようにした。
本ベンチマークはこのデータ構造の変更によるメモリー使用量の削減結果と性能への影響を計測したものです。なお、参考として mruby 2.1.2 の計測結果も記載しています。