0

注意:应该有一个循环收集标签。循环收集确实是这里的主要话题,但是我没有足够的积分来创建标签。此外,我已经达到了最大标签数。参考周期标签也很有意义。那也不存在。

我有很多关于如何制作更好的计算机语言的想法,但我一直在为它制作最先进的垃圾收集器。

我注意到 Apple 和 Microsoft(针对 Window 8)正在转向引用计数。显然,人们发现常规的垃圾收集需要太多的开销内存,并且不喜欢内存太紧时的颠簸。

但是,如果我想要一种不受引用循环限制的编程风格,那么正常的引用计数似乎几乎不是一种改进,因为扫描引用循环并正确处理它们需要对潜在引用循环进行多次传递的算法。

现在有一些论文表明可以在程序执行的同时扫描循环,但我在阅读它们时迷路了。

例如,David F. Bacon 和 VT Rajan 的“引用计数系统中的并发循环收集http://researcher.ibm.com/files/us-bacon/Bacon01Concurrent.pdf”,DAVID F. BACON 的纯引用计数垃圾收集器, CLEMENT R. ATTANASIO, VT RAJAN, STEPHEN E. SMITH & HAN B. LEE”和“David F. Bacon, Perry Cheng 和 VT Rajan 的垃圾收集统一理论” http://www.cs.virginia.edu/ ~cs415/reading/bacon-garbage.pdf

谁能向我解释如何找到所有循环,包括连接的循环,并在试验的基础上,通过自引用量减少引用计数,并在对象发生变异时安全地执行此操作?

这似乎是一项艰巨的任务。

我记得“大部分并发垃圾收集”是重新扫描脏对象或脏页面,但我不确定这是否是同一类事情。

我在扫描循环方面玩了一些,我已经说服自己没有可以跟踪循环的大部分本地算法,不管你在它上面浪费了多少内存。它确实是一个非本地属性。没有标记循环这样的东西。

无论如何,有人了解并行算法吗?谁能给我解释一下?

编辑:http ://researcher.ibm.com/files/us-bacon/Paz05Efficient.pdf 那篇论文看起来很有希望。尽管即使假设我可以达到我确信我理解它的程度,但非阻塞并行算法非常困难,以至于发布的算法经常出现错误。如果可能的话,修复它们很困难,我从经验中知道这两个事实。

另外我想确定“滑动视图”的确切含义:/

4

0 回答 0