2009-04-20

http://anond.hatelabo.jp/20090420165057

Conservative GCって何って言うと、使われなくなったメモリを全て解放することができない可能性があるGC。

それがどうしてかと言うと、GCのランタイムが、何がポインタで何がポインタでないかを把握できないから。

だから実際にはポインタじゃないけどポインタっぽい数字がメモリ上で見つかった時に、その数字のアドレスは使用中と見做して解放しない。

誤解放で死ぬよりはよっぽどマシだから。

つまり安全のためにGCしていい領域を『少なめに(控え目に)』見積もるの。

ここでconservativeの意味を調べてみると

1 not willing to accept much change, especially in the traditional value of society(『保守的』)

2 (服装やスタイルについての説明なので省略)

3 a conservative guess is less usually less than the actual amount(実際の数量より少なめ、『控え目』)

の3つの意味がある(マクミラン英英辞典より)。

明らかに1より3の方が納得できない?

***

トラバくれた増田氏が言うように『古臭い』って意味だとすると、昔のGCが上記の動作をしてたってことになるだろうけど、最初にGCが乗っかったのはLispなので、それはなかっただろうと思う。

記事への反応 -
  • 「保守的」じゃなくて「控え目」の方がまだ正しいんじゃないの?

    • 古臭いってことなんじゃない?

      • Conservative GCって何って言うと、使われなくなったメモリを全て解放することができない可能性があるGC。 それがどうしてかと言うと、GCのランタイムが、何がポインタで何がポインタでな...

        • 「古臭い」って書いた増田です。 昔ガベコレ絡みの研究やってたので、考えることなく反応しちゃったんだけど、 確かに元増田の言い分も分かるなー。 このガベコレのロジックって...

          • conservativeでないGCの方が古くからあったのだから、conservative GCのconservativeを「古くさい」と取るのはおかしいでしょう。 最初に使ったのが誰かということについてだが、現在言うところ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん