garbage-collection - 垃圾回收运行时成本的大 O 分析

标签 garbage-collection big-o

在推断垃圾收集语言中的运行时成本时,myList = null; 之类的语句的成本是多少?就“n”(列表中的元素数)而言?为了论证起见,将列表视为引用类型的单链表,不需要最终确定。

更一般地说,我正在寻找有关如何在具有 GC 的语言中分析运行时成本的任何信息。

最佳答案

我自己的想法是,根据收集器的实现,成本可能是 O(1) 或 O(n)。在标记和清除收集器中,根本无法到达无法到达的对象,因此我可以想象清除它们不会产生任何成本。 (事实上​​,简单地保持对象存活会产生持续的成本,大概是通过使用代数来摊销的。)相反,在一个简单的引用计数收集器中,我可以很容易地想象它花费 O(n) 来进行清理......

在设计算法时如何推理这一点对我来说并不明显..

关于garbage-collection - 垃圾回收运行时成本的大 O 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750424/

相关文章:

c# - 有没有办法将通用枚举值转换为 UInt64 值而不进行分配?

c++ - C 和 C++ 缺乏垃圾回收

time-complexity - 算法时间复杂度的定义(log n 或 n)

c - 算法的时间复杂度(嵌套循环)

algorithm - 如果 m <= n,时间复杂度 O(nm) 是否等于 O(n^2)

java - 带有 "OR"的 return 语句是什么类型的递归?

actionscript-3 - AS3 : Making objects eligible for GC by reference counting

java - GC_CONCURRENT不停运行

arrays - 给定一个数组,我能否在 O(n) 中找到最长的范围,其端点是范围内的最大值?

actionscript-3 - 删除对对象的所有引用会删除该对象内的事件监听器?