【发布时间】:2011-06-11 18:40:12
【问题描述】:
Gambit-C 的 GC 机制是什么?我对制作交互式应用程序感到好奇。我想知道它是否可以避免突发GC操作。
【问题讨论】:
-
归根结底,它只是归结为用户体验——只要没有用户明显暂停...
-
dynamo.iro.umontreal.ca/~gambit/wiki/index.php/… 似乎表明正在使用引用计数,但这是 2007 年的一些注释(这意味着在这些情况下可以立即释放)。
-
@pst 是软实时应用的结果吗?如果它使用立即引用计数,它如何正确处理循环引用?
-
我不使用 Gambit-C,这只是我能找到的所有信息,我什至不确定它是否直接适用——最好的办法是询问 ML 或查看我认为的来源:(现代引用计数系统(例如 CPython 和 PHP)使用额外的循环检测/中断阶段来处理循环引用。引用计数的一个好处是可以立即执行取消分配,从而摊销(即使从长远来看效率较低)。对于大多数“交互式”应用程序,现代 Mark & Sweep / Hybrid GC 没有问题(例如 .NET/JVM),甚至还有一个软实时 JVM。
标签: garbage-collection scheme gambit