@article{oai:ipsj.ixsq.nii.ac.jp:00204923, author = {森, 翔太郎 and 近森, 凪沙 and 鵜川, 始陽 and Shotaro, Mori and Nagisa, Chikamori and Tomoharu, Ugawa}, issue = {3}, journal = {情報処理学会論文誌プログラミング(PRO)}, month = {Jun}, note = {組込みシステム向けにコンパクトに開発されたmRuby/cというRuby処理系がある.組込みシステムの実行環境は一般にメモリが少なく,CPUも非力であるため,時間的オーバヘッドや空間的オーバヘッドが小さい方法でにプログラムを処理する必要がある.現状のmRuby/cのガベージコレクタ(GC)には,参照カウント方式が採用されている.参照カウント方式は,再帰的なオブジェクトの解放が起こらない限り停止時間が短いという利点がある.しかし,参照カウントの操作は時間的なオーバヘッドとなる.また,各オブジェクトが持つ参照カウントを保持するフィールドも空間的なオーバヘッドとなる.さらに,循環参照を回収できないという問題もある.そこで本研究では,mRuby/cで参照カウントの妥当性を調査する.そのために,比較対象としてマークスイープGCを実装する.そのうえで,いくつかの性質の異なるベンチマークプログラムを用いて停止時間や時間的,空間的オーバヘッドの面で比較する., mRuby/c is an implementation of Ruby language for embedded systems. Because embeddeds system have small amount of memory and low power CPUs, it is necessary to processing a program in a way with small time and space overhead. mRuby/c has reference counting garbage collection (GC). Reference counting GC has the advantage that pause time of application are short unless objects are happen to be released recursively. However, time overhead of operating reference counts is applied as well as spatial overhead that each object has a reference count field. Furthermore, reference counting GC cannot release cyclic chains of objects. In this research, we examine feasibility of reference counting GC in the context of mRuby/c. We first implemented marksweep GC in mRuby/c. Then, we compared reference counting GC and marksweep GC in terms of pause times and time and spatial overhead using benchmark programs with different characteristics.}, pages = {15--15}, title = {mRuby/cにおける参照カウントGCとマークスイープGCの比較}, volume = {13}, year = {2020} }