「An On-the-fly Reference Counting Garbage Collector for Java」 などというタイムリーな論文が掲載されている。
ので、読む。が、読んでいるうちに寝てしまった。 難しいぞ。
結局は、直接Reference Countを更新する代わりにスレッドごとのキューに記録しておいて、 後でまとめて更新するということらしい。 それはあんまりReference Countの良さを活かせないんではないだろうか。 ハンドシェークも多いし(4回)。
論文を読むかぎりは通常のマーク・スイープに対して性能が向上しているとあるけれど。 実際のところはどうなのかなあ。
ところで、どうもこの論文、読んだことがあるような気がしてきたんだけど。 前に(それもだいぶ前に)OOPSLAあたりに概要が載ってたんじゃないかなあ。
で、このアルゴリズムのRubyへの適用を考えると、 スレッドの扱いなどで複雑すぎるような気がする。 それとSlidingViewバッファなどで使われるメモリ消費も気になるし。
むしろ、IoやLuaのコードを読むべきかなあ。
B00008B240
中国でバッテリーの保ちに悩まされたのと、 大阪のラディカル・ベースで 妙に安かったので、衝動買い。
さすがにバッテリーが長持ちする。体感だと倍くらい?
気がついたこと