gpt4 book ai didi

functional-programming - 硬件辅助垃圾收集

转载 作者:行者123 更新时间:2023-12-03 09:59:51 24 4
gpt4 key购买 nike

我在思考如何让函数式语言更直接地与其硬件联系在一起,并且想知道垃圾收集的任何硬件实现。

这将显着加快速度,因为硬件本身将隐式处理所有集合,而不是某些环境的运行时。

这是 LISP 机器所做的吗?有没有进一步研究这个想法?这是否过于特定于域?

想法?反对?讨论。

最佳答案

由于分代收集,我不得不说跟踪和复制并不是 GC 的巨大瓶颈。
有帮助的是硬件辅助的 READ 屏障,它消除了在进行堆栈扫描和标记堆时“停止世界”暂停的需要。
Azul Systems 已完成此操作:http://www.azulsystems.com/products/compute_appliance.htm
他们在 JavaOne 上发表了关于他们的硬件修改如何允许完全无暂停 GC 的演讲。
另一个改进是硬件辅助写入屏障,用于跟踪记住的集合。
分代 GC,对于 G1 或 Garbage First 更是如此,通过仅扫描一个分区并为跨分区指针保留一个记住的集合列表来减少它们必须扫描的堆数量。
问题是这意味着任何时候 mutator 设置一个指针时,它也必须将一个条目放入适当的重新 memset 中。因此,即使您不进行 GC,您也有(小)开销。如果您可以减少这一点,您就可以减少 GC 所需的暂停时间和整体程序性能。

关于functional-programming - 硬件辅助垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/542235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com