Real-time GC (Re: struct timeval)
kono@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> > > で、参照カウント方式でないと、incremental GCは、ほぼ不可能です。
> > 河野さん…言語屋でないとはいえ、それはあんまりでしょ。 久野
>
> え、そう? どんなの考えているんですか?
>
> Reference counting しない incremental GC って言えば、あれが
> あるけど、実際に実装したのはないんじゃないかなぁ。
> 今年のPOPLには、Reference count の計算量みたいな話が出ていて、
> 「やっぱり、だめだぁ」みたいな話だったし。僕も、Reference
> count はダメだと思っていた方なので「やっぱりね」って感じ
> でした。
"The space cost of lazy reference counting" ですか。
たしかに最近 reference counting に関する話題が少しありましたけど、ポイ
ンタ追跡型のrealtime GCだってありますよ。
たとえば、
David F. Bacon and Perry Cheng and V. T. Rajan: A real-time garbage
collector with low overhead and consistent utilization, Proc. POPL
2003, pp.285-298
Perry Cheng and Guy E. Blelloch: A parallel, real-time garbage collector,
Proc. PLDI 2001, pp.125-136
Taiichi Yuasa, Return Barrier: Incremental Stack Scanning for Snapshot
Real-time Garbage Collection, International Lisp Conference 2002, Oct. 2002
とか。
> まぁ、家で散らかす程度だったら mark & sweep とかでもいいし、
> 帳簿で管理するような物だったら Reference count もいいけど、
> 工場でJust in time やるようなもので、ゴミとそうでないものを
> 区別せずに扱うってのは無理なんだよね。
まあ、たしかにreal-time GCが完全に実用になってるかと言えばそこまで行っ
てないですね。だから Real-time specification for Java ではGCに頼らず
Regionを持ってきたんですよね。GC研究者としては大変くやしいですね。
> で、いまや、リアルタイムでないプログラムなん
> て存在するのかなぁ。
これは大げさでしょ。
少なくともWindowsやUnixで動いてるプログラムにリアルタイムなものなんて
ほぼ皆無なわけだし、Javaで書かれているプログラムもそうでしょ。
コード量の割合にすれば組み込み/リアルタイムのプログラムの方がはるかに
多いかもしれませんけどね。
前田敦司
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735