gpt4 book ai didi

erlang - 在 Erlang 中,在进程中使用 ets 而不是进程字典有什么好处?

转载 作者:行者123 更新时间:2023-12-04 02:32:32 24 4
gpt4 key购买 nike

我认为使用 ets 仍然会引入类似的副作用。

最佳答案

ETS 不是垃圾收集,因为它存储在 erlang 进程之外的堆中。这意味着当您将某些东西放入 ets 时,它会被复制到其中,而当您将其取出时,您会在您的过程中得到一个副本。进行大量的 ets 查找可能会导致您的过程中出现过多的 consing(但这仅与非常高的吞吐量相关)。

进程字典是垃圾收集的。它存储在进程自己的堆中。因此,当您在其中查找内容时,您会得到与您放入其中的完全相同的值的引用。存储在进程字典中的值不会被压缩。

这两种方法都是非纯的,即它们都有副作用。是的,这很糟糕,是的,这不是我们有两种选择的原因。

关于erlang - 在 Erlang 中,在进程中使用 ets 而不是进程字典有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1483550/

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