Index: [Article Count Order] [Thread]

Date:  Wed, 04 Feb 2004 14:04:47 +0900
From:  Murayama Toshikiyo <murayama@....jp>
Subject:  [XP-jp:04885] Re: GC
To:  extremeprogramming-jp@....jp
Message-Id:  <20040204135950.3F86.MURAYAMA@....jp>
In-Reply-To:  <16416.25144.428000.5081@SHIKAKU
References:  <20040203.012420.104119415.yyamano@....jp> <16416.25144.428000.5081@SHIKAKU
X-Mail-Count: 04885

村山@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/