Hin*_*sum 2 performance haskell concat list
Haskell的教程说,要谨慎,当我们使用"你好" +"世界",新的列表建设具有访问所有单个元素(这里的'你好’的每个字符),因此,如果对"左侧的列表++"很长,然后使用"++"会降低性能.
我认为我没有正确理解,Haskell的开发人员是否从未调整列表操作的性能?为什么这个操作仍然很慢,在任何lambda函数或currying中都有某种语法一致性?
任何提示?谢谢.
在某些语言中,"列表"是一种通用序列类型,旨在为串联,拆分等提供良好的性能.在Haskell和大多数传统的函数式语言中,列表是一种非常特定的数据结构,即单链接名单.如果你想要一个通用序列类型,你应该Data.Sequence从containers包中使用(它已经安装在你的系统上,并为各种操作提供了非常好的大O渐近线),或者可能还有一些其他更优化的常用序列类型使用模式.