村山@NETGENEです.
> しかしながら、最近の HotSpot 内蔵の Java VM では null を代入
> しないと採用している GC の性質上、逆にパフォーマンスが劣化す
> る事もあります。Java での Game Programming では結構その辺を
> 意識する機会があるようですね。詳しくは以下の記事をどうぞ。
>
> http://www-6.ibm.com/jp/developerworks/java/031114/j_j-perf08273.html
ここですか?
「ただし、Edenを一杯にするくらい大きなオブジェクト(Windowsのデフォルト
での1.4 JVMコンフィギュレーションでは約500Kバイト)を選んだ場合には、の
話ですが。たった一つゼロ割り付けをするだけで5倍ものパフォーマンスの差!
ただし念のため注意しておきますが、この差は変数のスコープが不正なためで、
それに対してはゼロを割り付けるのは単なる逃げ手でしかありません。それにオ
ブジェクトが非常に大きいためにこれだけの差が生じているのです。」
1,変数のスコープが間違っている.
2,巨大なインスタンスを頻繁に生成/終了させている.
原因は単なる設計ミスです.
ちなみにHotSpotVMに限らず,世代別GCを使っていれば同様な問題は
起こりえます.使っていなくてもこの設計が好ましいわけじゃありません.
--
村山敏清 株式会社ネットジーン 〒164-0001
東京都中野区中野3-33-3 インツ中野ビル 5F
E-mail:murayama@....jp
TEL:(03)5328-3670 FAX:(03)5328-3673
http://www.netgene.co.jp/