Index: [Article Count Order] [Thread]

Date:  Mon, 02 Feb 2004 14:56:22 +0900
From:  Murayama Toshikiyo <murayama@....jp>
Subject:  [XP-jp:04865] Re: GC
To:  extremeprogramming-jp@....jp
Message-Id:  <20040202144920.5909.MURAYAMA@....jp>
In-Reply-To:  <20040131.215221.98156878.yamazaki@....jp>
References:  <JN20040131123837.600648677@....jp> <20040131.215221.98156878.yamazaki@....jp>
X-Mail-Count: 04865

村山@NETGENEです.

>> Ruby, Python, Java の実装は,オブジェクトの構造体に型情報を記録してい
>> ます.したがって C で書かれているにもかかわらず,exact GC を使うことが
>> できます.

>つまり exact GC を採用することが原理的に可能だという以上のことは言って
>いません.
少し補足すると,

少なくともJavaにおいては,どのようなGCを使うかは完全に実装依存です.
保守的GCを使っても構わないし,exact GCを使っても構いません.たしか
ChaiVMなどは保守的GCを使っていました.

GCアルゴリズムと言語仕様とは独立したものであり,わざわざ言語仕様で
GCのアルゴリズムを規定するような真似は,普通はしないでしょう.


ただし,既に述べた様に,保守的GCには過剰追跡やメモリフラグメンテーションと
いう欠点があるので,Javaで使われるのは稀です.正確なGCが高いパフォーマンス
で実現可能である以上は,普通は正確なGCを使うでしょう.CやC++では効率の良い
正確なGCの実現が不可能,或いは極めて困難であるのとは対照的です.

-- 
村山敏清 株式会社ネットジーン 〒164-0001 
東京都中野区中野3-33-3 インツ中野ビル 5F
E-mail:murayama@....jp 
TEL:(03)5328-3670 FAX:(03)5328-3673
http://www.netgene.co.jp/