【发布时间】:2013-01-14 16:42:32
【问题描述】:
我对 Go 编程语言了解不多,但是我看到一些说法说 Go 具有无延迟的垃圾收集,并且比其他垃圾收集器(如 JVM 垃圾收集器)要好得多。我已经为 JVM 开发了应用程序,并且我知道 JVM 垃圾收集器不是无延迟的(特别是在使用大量内存时)。
我想知道,Go 中的垃圾收集方法与其他使其无延迟的方法有什么区别?
提前致谢。
编辑: @All 我完全编辑了这个问题,如果你觉得它有建设性,请投票重新打开这个问题。
【问题讨论】:
-
在 Java 游戏中,我永远不会让垃圾收集器运行,直到达到游戏中的合适点(例如暂停菜单)。为了实现这一点,我总是有某种管理器类,它保留对所有创建对象的引用,并在达到暂停菜单或关卡结束时释放它们。
-
您可能会喜欢这个进行比较。 code.google.com/p/jgo 如果 Go 支持
struct这有可能显式避免 GC,而不是希望 JIT 隐式为您执行此操作。 -
@JonTaylor 你为什么这样做?是因为 JVM 垃圾收集器性能还是其他原因?
-
@SaeedZarinfam 是的,就性能而言,垃圾收集器严重影响帧速率并且完全不可预测。除了保留所有资源并仅在安全的情况下释放之外,没有办法告诉它在某个时候专门收集。
-
@All 我完全编辑了这个问题,如果你同意,请投票重新打开这个问题。
标签: performance garbage-collection jvm go