Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 多么神圣的HashTable&;GC工程_C++_C_Garbage Collection_Conways Game Of Life - Fatal编程技术网

C++ 多么神圣的HashTable&;GC工程

C++ 多么神圣的HashTable&;GC工程,c++,c,garbage-collection,conways-game-of-life,C++,C,Garbage Collection,Conways Game Of Life,我无法真正理解生活中的GC。它使用简单的bucket散列,但它决定如何存储从散列表中收集的节点和垃圾。剧本中的评论让我有些困惑。 有谁能解释它的工作逻辑吗。 Golly使用一种简单的标记和清除垃圾收集策略。活动根保存在显式数组(称为“堆栈”)中,该数组由查找和返回节点的递归例程管理。当内存耗尽时,首先访问活动根以标记活动节点,然后按地址扫描内存块以创建空闲列表 在我们的测试中,这个简单的策略胜过了许多替代策略(包括引用计数和更“智能”的处理策略)。有什么理由反对投票吗?所以所有活根都保留在堆栈

我无法真正理解生活中的GC。它使用简单的bucket散列,但它决定如何存储从散列表中收集的节点和垃圾。剧本中的评论让我有些困惑。

有谁能解释它的工作逻辑吗。

Golly使用一种简单的标记和清除垃圾收集策略。活动根保存在显式数组(称为“堆栈”)中,该数组由查找和返回节点的递归例程管理。当内存耗尽时,首先访问活动根以标记活动节点,然后按地址扫描内存块以创建空闲列表


在我们的测试中,这个简单的策略胜过了许多替代策略(包括引用计数和更“智能”的处理策略)。

有什么理由反对投票吗?所以所有活根都保留在堆栈中。如果需要空间,将为新节点释放结果