首页 > 解决方案 > 在 Haskell 中就地修改数组?

问题描述

我们都知道以函数样式修改列表的成员非常慢(向量为 O(n),树为 O(log n)),因此 ghc 编译器中是否有优化此操作以在 -地方修改?如果可以,需要什么条件?如果修改发生在函数中,并且您要修改的列表是其参数之一,它是否有效?

标签: arrayshaskelloptimizationghc

解决方案


不,编译器不会检测到纯数据结构的“修改”,将它们变成就地修改。如果您真的需要可变数组的性能特征,则必须明确使用它们(正如 Willem 在评论中提到的那样)。


推荐阅读