小编Qua*_*One的帖子

功能编程:不变性应该走多远?

我意识到这可能是一个非常主观的问题,但我正在寻找一些比我在函数式编程方面更有经验的人的见解.

我的理解是,保持一切不可变的主要动力是让事情更容易理解,并阻止错误蔓延到并行任务.这样做的缺点是,每次要对数据结构进行更改时,都必须将整个数据结构复制到一个新对象中,但需要进行所需的更改.据推测,这样做有一些性能成本:虽然对于一个小对象我不会这么做三次,如果你正在研究大型矩阵或张量,或类似的大型数据结构,那肯定会变得非常慢?

简而言之:

  1. 复制不可变数据结构会有性能损失吗?它有多重要?
  2. 如果是这样,你能举例说明你(个人)在制作不可变的东西和使它变得可变之间的界限吗?

functional-programming immutability

3
推荐指数
1
解决办法
173
查看次数