gpt4 book ai didi

scala - 在 Scala 中,不可变和可变集合和映射在垃圾收集方面如何比较?

转载 作者:行者123 更新时间:2023-12-04 19:13:12 25 4
gpt4 key购买 nike

我正在编写一些代码,其中涉及使用“小”(例如,短字符串或简单案例类)对象的集合和映射,同时通过大型结构进行递归,在每个点添加一个小(通常是 1,有时是少数)对象到集合或映射。看起来好像使用可变集和映射比不可变集提供了显着的加速,但我在定量评估差异时遇到了麻烦。

当我使用不可变数据结构时,Scala 的垃圾收集会导致显着的减速是否有意义?使用可变数据结构会解决这个问题吗?

最佳答案

Scala 的不可变集合非常高效。主要是因为当一个结构发生变化时,很多结构都会被重用。

但是如果你做了很多改变,可变结构可能更合适。实际上,这就是 Scala Collection API 在内部的许多地方所做的:使用可变数据结构来构建新东西,仅作为最后一步,创建一个不可变数据结构并返回它。

关于scala - 在 Scala 中,不可变和可变集合和映射在垃圾收集方面如何比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12906925/

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