【发布时间】:2011-12-13 02:01:47
【问题描述】:
这样的语言是否可行,或者 Go 中是否存在绝对需要某种形式的 gc 的特定功能?
注意:我不是反 gc,但来自 C/C++ 背景并从事实时服务器应用程序,我更喜欢保持某种程度的控制如何以及何时获取内存(不能有10 秒的垃圾收集发生在实时运行的中间)。
考虑到我的要求,我的担忧是否现实?还是 go gc 这么好,我的担心是没有根据的?
Go 的 gc 是我对尝试使用 C++ 实时服务器的端口的唯一保留。
【问题讨论】:
-
您最好单独提出一个问题,专门针对如何衡量 GC 对 go 的运行时影响。
-
不知道 go,但是十秒(!)垃圾收集听起来不太可能用现代技术。几毫秒的可能性更大,操作系统通常会通过运行病毒扫描程序、唤醒休眠进程和到处交换虚拟内存来造成如此长的延迟。
-
我没有尝试过 Go 但你的要求很模糊。你最好自己测量它。根据场景,GC 算法可能会妨碍您。以这种笼统的方式提出问题不会给你一个有用的答案。你能容忍多少中断时间?甚至 Windows 也不是实时操作系统。您是在谈论真正的实时还是其他?
-
感谢您的 cmets,Dan (+1) - 今天晚些时候我会采纳您的建议并发布一个更好的问题。
标签: garbage-collection go