メモリ改善メモ #2

割り当てるサイズをそれぞれ2〜128KBで試してみた。
 
フラグメントを多く発生させるベンチコードで試したところ

それぞれ、中々の改善を見せた。
 
が、その他のベンチコードでは

と、メモリ削減がきいてGC回数が多くなり、スループットが増加している。
heapsortやlifeなど一度メモリ領域を圧迫して、捨て、さらに圧迫するようなプログラムで
メモリ削減が効いてしまうとGC回数が必然的に多くなる。
 
もうすこし、ベンチコードのオブジェクトの動きを調べて、通常使うようなケースでは
遅くならないように改善する必要がありそうな感じ。
 
追記:
ruby-trunkに処理系用のbenchmarkコードがいっぱいあったのを思い出した。
あれで一度試してみようかな。